Announcement

Collapse
No announcement yet.

Übertragen von markierten Tabelleneinträgen in aufrufendes Formular

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Übertragen von markierten Tabelleneinträgen in aufrufendes Formular

    Hallo Leute,

    ich habe das problem, dass ich ein Formular aus mehreren anderen Formularen aufrufe, um auf dem anderen Fomular Werte auszuwählen und direkt in die Tabelle des aufrufenden Formulars einzutragen.

    Ich habe zunächst versucht, den Namen des aufrufenden Formulars zu übergeben, um diesen dann beim übernehmen abzufragen, nur dummerweise muss ich dann wohl innerhalb der Schleife, in der ich die Werte auslese, für jedes Formular extra die Insert-Funktionen schreiben.

    Als neuen Ansatz, greifge ich nun auf eine Query zurück, der ich den Namen der Tabelle des aufrufenden Formulars übergebe, jedoch bekomme ich dann den Fehler, das etwas mit den Parametern nicht stimmt.

    Ich Frage mich nun, ob meine Query nicht stimmt, oder ob der Ansatz der Falsche ist?

    Hier die Query:

    INSERT INTO :@lAufrufTabelle values(SELECT * FROM Artikel WHERE ArtID = :@lArtNr)

  • #2
    Hallo,

    ich glaube, Du musst VALUES weglassen.
    Also Insert into Table1 SELECT * from Table2 where....

    Grüße
    Juli

    Comment


    • #3
      DankeJulia, die Idee ist nicht schlecht. Habs probiert, aber leiderwar dass nicht die Lösung des Problems.

      Nach einigen Versuchen, tritt jetzt die Fehlermeldung:

      "Die Argumente sind vom falschen Typ, liegen Außerhalb des Gültigkeitsbereichs oder sind miteinander unvereinbar"

      :@lArtNr wird Value zugewiesen, welche dann auch die korrekte Nr enthält und :@lAufrufendeTabelle bekommt einen String Wert übergeben.

      Irgendeine Idee, wo der Fehler liegen könnte

      Comment


      • #4
        Hallo Johannes,

        der Name der Tabelle kan in einem SQL-Statement nicht als Parameter übergeben werden! Du müßtest also das Statement dynamisch zusammenbauen: Query.SQL := 'INSERT INTO ' + <i>lAufrufTabelle</i> + ' (SELECT * FROM Artikel WHERE ArtID = :@lArtNr);
        Danach kannst du dann den Parameter für @lArtNr setzen.

        Gruß Fal
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Hallo Falk,

          Danke für den Hinweis. Ich habs so probiert und es funktioniert!

          Vielen Dank für die Hilfe!

          Ps.:bin noch neu, kann/muss man diesen Beitrag als geschlossen makieren

          Comment


          • #6
            Ich hab hier noch keinen "geschlossenen" Beitrag im Sinne von nicht mehr beantwortbar gesehen
            Dein abschließender Kommentar, das dir geholfen ist und du die Angelegenheit als erledigt betrachtest, sollte reichen!

            Gruß Fal
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment

            Working...
            X