Commander_COM Geschrieben 16. Juli 2002 Geschrieben 16. Juli 2002 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
outatime Geschrieben 16. Juli 2002 Geschrieben 16. Juli 2002 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
Commander_COM Geschrieben 16. Juli 2002 Autor Geschrieben 16. Juli 2002 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
Meenzer Geschrieben 16. Juli 2002 Geschrieben 16. Juli 2002 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
Commander_COM Geschrieben 16. Juli 2002 Autor Geschrieben 16. Juli 2002 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
Commander_COM Geschrieben 16. Juli 2002 Autor Geschrieben 16. Juli 2002 *grins* Mercutio, Paralelleinträge rulen! Trotzdem danke für die Hilfe!
outatime Geschrieben 16. Juli 2002 Geschrieben 16. Juli 2002 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden