collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 56
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13808
  • stats Beiträge insgesamt: 64233
  • stats Themen insgesamt: 8686
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: INSERT INTO wird nicht ausgeführt  (Gelesen 204 mal)

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
INSERT INTO wird nicht ausgeführt
« am: Oktober 19, 2017, 16:23:51 »
Hallo,

ich möchte Werte aus einer Liste per Knopfdruck in eine Zwischentabelle einfügen. Das habe ich in einem Formular erfolgreich implementiert.

Jetzt, da ich es in einem Formular auf genau die gleiche Art angewendet habe, funktioniert der Button nicht mehr. Selbstverständlich habe ich den Code entsprechend angepasst.

Private Sub cmdRueber_mat_Click()
strSQL = "INSERT INTO tblWart_Mat (auf_id_f, mat_id_f) " & _
         "VALUES (" & Str(Me!auf_id) & "," & Str(lstMaterial) & ")"
'MsgBox strSQL
CurrentDb.Execute strSQL, 128
Forms!frmBahn_Auftrag!frmBahn_Auftrag_ufoBeanstandung.Requery
End Sub

Beim Ausführen kommt die Meldung, dass für mat_id_f kein Wert eingegeben wurde. Die einzige Ursache, die ich mir vorstellen kann, ist, dass die Liste keine ID des entsprechenden Werts an die Tabelle übergibt.

Hat jemand eine Idee, was ich falsch mache?

VG
Dennis
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 275
    • Tipps zu Access, VBA, SQL und Co.
Re: INSERT INTO wird nicht ausgeführt
« Antwort #1 am: Oktober 19, 2017, 16:27:51 »
Was zeigt den die ausgabe von MsgBox strSQL an?
Ersetz das doch mal durch Debug.Print strSQL, dann kannst du den SQL String auch einfach hier im Forum posten.
 
Folgende Mitglieder bedankten sich: gilles_de_rais

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: INSERT INTO wird nicht ausgeführt
« Antwort #2 am: Oktober 19, 2017, 16:36:58 »
Die Message Box gibt
INSERT INTO tblWart_Mat(auf_id_f, mat_id_f) Values(3,1)
aus.

Nach meinem Verständnis sagt das eigentlich aus, dass genau die Werte vorhanden sind, die letztlich aber nicht eingetragen werden.

Über Debug.Print strSQL wird mir leider nichts ausgegeben.

EDIT: Es handelt sich um eine geteilte Datenbank. Backend liegt auf dem Server. Besteht hier vielleicht ein Zusammenhang?

EDIT 2: Ich sehe gerade, dass der Debug.Print-Befehl sehr wohl etwas ausgibt. Nämlich das gleiche wie die Message Box :)
« Letzte Änderung: Oktober 19, 2017, 16:54:17 von gilles_de_rais »
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: INSERT INTO wird nicht ausgeführt
« Antwort #3 am: Oktober 20, 2017, 07:42:02 »
Ok, wer lesen kann, ist fast immer im Vorteil.

Es kommt am Ende der Prozedur der Hinweis, dass wart_mat.wart_id_f nicht eingetragen werden kann. Nicht, wie ich ursprünglich behauptet habe, mat_id_f.

wart_id_f ist in dieser Zwischentabelle zwar als Spalte vorhanden, wird aber von dem aktuellen Formular überhaupt nicht verwendet. Kann mir jemand sagen, wie ich herausbekomme, wo Access den Bezug zu diesem Fremdschlüssel herstellt?

VG
Dennis

EDIT: Ich habe das Problem lösen können. Und zwar habe ich das Feld in der Backend-Tabelle gelöscht und anschließend wieder neu eingefügt. Jetzt funktioniert alles genauso, wie es soll. Danke für den Tip mit Debug.Print. So wusste ich wenigstens, dass ich nichts Grundlegendes falsch gemacht habe. Zwar weiß ich jetzt immer noch nicht genau, woran es lag. Spielt für den Moment aber auch keine Rolle!
« Letzte Änderung: Oktober 20, 2017, 08:16:36 von gilles_de_rais »