Veröffentlicht 16. Juli 200223 j hallo! Ich möchte eine Variable aus VBA ind eine RunSQL Anweisung mit reintun... weiß jemand, wie ich das mache? sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (Ger_Anzahl,Anl_Nr_Feld, Anlage,Standort_Feld,Firma_Feld, Prio_Nr_Feld)" DoCmd.RunSQL sql_str Ger_Anzahl ist die Variable, so wie oben lässt sie sich aber nicht direkt in die Tabelle eintragen, sondern man wird trotzdem noch gefragt nach Parameter.... Thx4Hlp
16. Juli 200223 j Kommt die Variable direkt aus VBA? Vielleicht hilft dir das weiter: sql_str = "Insert Into Geraet (" & Ger_Nr & ",Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (Ger_Anzahl,Anl_Nr_Feld, Anlage,Standort_Feld,Firma_Feld, Prio_Nr_Feld)" DoCmd.RunSQL sql_str Du musst den String quasi aufsplitten. Wenn man davon ausgeht, dass die anderen Felder auch Variablen sind, würde das ganze so aussehen: sql_str = "Insert Into Geraet (" & Ger_Nr & "," & Anl_Nr & "," & Bezeichnung & "," & Ort "," & Firma "," & Prio_Nr & ") Values (" & Ger_Anzahl & "," & Anl_Nr_Feld & "," & Anlage & "," & Standort_Feld & "," & Firma_Feld & "," & Prio_Nr_Feld ")" DoCmd.RunSQL sql_str
16. Juli 200223 j ja, das erste geht. sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (" & Ger_Anzahl & ",Anl_Nr_Feld, " & anlagename & ",Standort_Feld,Firma_Feld, Prio_Nr_Feld)" DoCmd.RunSQL sql_str so siehts erstmal richtig aus. ich will aber in den Punkt Bezeichnung der Tabelle Geraet den Wert "Anlage" reinschreiben, ohne ihn vorher irgendwo eintippen zu müssen. dazu habe ich dim anlagename As String gemacht, dann anlagename = "Anlage" und wollte es so einfügen, aber er nimmt es schon wieder nur als Parametereingabe.... noch ne Idee? *grübel* thx4hlp
16. Juli 200223 j Hi! Da Deine Variable ein String ist, muss Du noch ein einfaches Hochkomma vor die Gänsefüsschen setzen. Also so: ------------------------------------------------------------------------ sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (" & Ger_Anzahl & ",Anl_Nr_Feld, '" & anlagename & "' ,Standort_Feld,Firma_Feld, Prio_Nr_Feld)" DoCmd.RunSQL sql_str ----------------------------------------------------------------------- Gruss
16. Juli 200223 j habe hier die Lösung gefunden: http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=27695&werbeid=18 Einfach den Wert mit einfachen Anführungszeichen umgeben: 'wert' so. und damit trägt er das ein, was da steht. thx4urhlp@all
16. Juli 200223 j Schon mal per DAO über Recordsets versucht? Set rs = db.OpenRecordset("geraet", dbOpenTable) rs.AddNew rs!Ger_Nr = "bla" rs!Anl_Nr = "bla" rs.Update Nur mal als Idee, weiß nicht, wie dein Programm ansonsten aufgebaut ist... edit: ui, da haben andere ne bessere Lösung gefunden... diese Hochkommata haben mir auch schon mal den letzten Nerv geraubt
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.