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 Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
Commander_COM Geschrieben 16. Juli 2002 Autor Geschrieben 16. Juli 2002 *grins* Mercutio, Paralelleinträge rulen! Trotzdem danke für die Hilfe! Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.