ich komme nicht weiter bei einem Makro, ein Variablenwert wird nicht in die gewünschte Tabelle eingetragen. Ich habe meine Kenntnisse ausgeschöpft und bin jetzt ratlos.
Betroffen ist das Formular "Ein_TeilnZuKurs", dort erfolgt die Zuordnung von Teilnehmern zu einem Kurs.
Die betreffende Variable im Makro heißt "sK_ID", sie soll eine Kurs-ID in die Tabelle "KursBelegung" eintragen. Macht sie aber nicht. Verschiedene Möglichkeiten bei der Definition (String, Integer) sind ausprobiert und führen nicht zum Erfolg.
In der While-Schleife soll der Eintrag erfolgen, da habe ich auch verschiedene Variationen mit Hochkommata versucht, ohne Erfolg. Es kommt auch keine Fehlermeldung.
Mit xray habe ich den update-String ausgelesen und kopiert, füge ich ihn bei EXTRAS -SQL ein, funktioniert der Eintrag problemlos. Hier das Makro und eine verfremdete Beispiel-DB.
Code: Alles auswählen
' ausgewählte Teilnehmer in Tabelle "KursBelegung" eintragen
Sub Teilnehmer_eintragen
	DIM oDocView as Object
	DIM oDoc as Object 
	DIM oForm as Object
	DIM oForm_Grid as Object
	DIM oSubForm as Object
	DIM oSubForm_Grid as Object
	DIM oKursteilnehmerForm as Object
	DIM oDatenquelle AS OBJECT
	DIM oVerbindung AS OBJECT
	DIM oStatement AS OBJECT
	Dim sK_ID As Variant ' war auch schon Integer und String, ändert nichts
	Dim sT_ID As Variant
	Dim sSQL_anzNamen As String
	Dim sSQL_insT_ID As String
    oDoc = ThisComponent
 	oForm = oDoc.DrawPage.Forms.getByName("MainForm")
	oForm_Grid = oForm.getByName("MainForm_Grid")
	oSubForm = oForm.getByName("SubForm")
	oSubForm_Grid = oSubForm.getByName("SubForm_Grid")
	
	sK_ID = oForm_Grid.getByName("Kurs_ID").currentValue
	
'xray sK_ID
	
' Datenbankverbindung erstellen
	oDatenquelle = ThisComponent.Parent.DataSource
	oVerbindung = oDatenquelle.GetConnection("","")
	oStatement = oVerbindung.createStatement	
		
' SQL-Abfrage mit Teilnehmer-Nummern zusammenstellen
	sSQL_anzNamen = "SELECT (""T_ID"") FROM ""Teilnehmer"" WHERE ""Auswahl"" = " +  TRUE
	
' Abfrage ausführen
	oResultSet = oStatement.executeQuery(sSQL_anzNamen)
	While oResultSet.next()
		'T_ID aus oResultSet holen
		sT_ID = oResultSet.getString(1)
		
'xray sT_ID
		' "T_ID" in Tabelle "KursBelegung" einfügen (funktioniert, wird eingetragen)
		sSQL_insT_ID ="INSERT INTO ""KursBelegung"" (""T_ID"") " +chr(13)+_
				      "VALUES  ('" + sT_ID + "')"  
		' "K_ID" in Tabelle "KursBelegung" einfügen (funktioniert nicht)
		' die Variablen waren auch schon beide in Hochkommata, beide ohne, nutzte auch nichts		      
		SQL_updK_ID = "UPDATE ""KursBelegung"" SET ""K_ID"" = " + sK_ID + " WHERE ""T_ID"" = '" + sT_ID + "'" 
				  
		SQL_Anweisung = oVerbindung.createStatement()
		' Tabelle KursBelegung mit T_ID füllen
		SQL_Anweisung.executeUpdate(sSQL_insT_ID)
		
'xray SQL_updK_ID '(wenn ich den von xray hier gezeigten String kopiere und  
' 				   in "Extras - SQL" ausführen lasse, funktioniert es)	
		' Tabelle KursBelegung updaten mit K_ID 			
		SQL_Anweisung.executeUpdate(sSQL_updK_ID)	
	Wend	
		
End SubSchönen Abend
acco