# Laufzeitfehler



## hhunderter (7. Juni 2005)

Guten Tag erstmal ^^

Ich habe folgendes Problem : 
Laufzeitfehler : 3134

Und dies ist die Zeile :

SQL1 = "INSERT INTO " & Rs(1) & " (n1, n2, n3, l1, l2, l3) VALUES ('" & ggrtl1 & "', '" & ggrtl2 & "', '" & ggrtl3 & "', '" & ggrul1 & "', '" & ggrul2 & "', '" & ggrul3 & "')"

Was ist hir falsch ?

mfg:hhunderter


----------



## spirit (7. Juni 2005)

Hallo

Das ist kein SQL-Fehler. Der fehler liegt in deinem restlichen Code.
In deiner Zeile wird lediglich eine Variable ohne weitere Funktion beschrieben.


----------



## Orakel (7. Juni 2005)

Naja ich sehe hier zwei Möglichkeiten:

1) Was für ein Datentyp ist SQL1? Wenn's irgend ein Command Objekt ist könnte der Fehler daher kommen.

2) Wenn SQL1 ein String ist, mach doch mal nach Deiner Codezeile ein Debug.Print SQL1 und schaue Dir den zusammengesetzten String an.

Gruß
Das Orakel


----------



## hhunderter (7. Juni 2005)

k dan hir der ritige code :

ggrtl(1 bis 3) und ggrul(1 bis 3) sind textboxen
n(1 bis 3) und l(1 bis 3) sind die felder in der datenbank


Dim SQL1 As String
Dim Rs(11)
Dim Db As Database

Public Sub über()
  SQL1 = "INSERT INTO " & Rs(1) & " (n1, n2, n3, l1, l2, l3) VALUES ('" & ggrtl1 & "', '" & ggrtl2 & "', '" & ggrtl3 & "', '" & ggrul1 & "', '" & ggrul2 & "', '" & ggrul3 & "')"
  Db.Execute (SQL1)
End Sub

Private Sub Form_Load()
Rs(1) = "ka"
Set Db = DBEngine.OpenDatabase("mdb.mdb")
End Sub

ich hoffe ihr könt mir jetz richtig helfen ^^

mfg:hhunderter


----------



## Orakel (7. Juni 2005)

Ok. Du benutzt also DAO.  Ist schon lange her, dass ich damit gearbeitet habe. Mal sehen, was mir  dazu noch einfällt.

Also als erstes würde ich das Öffnen der DB etwas verändern:
Set Db = DBEngine.OpenDatabase("mdb.mdb", False, False)

Als zweites die Execute Anweisung
Db.Execute SQL1, dbSQLPassThrough
Ich vermute mal, dass da noch ein Parser die Finger im Spiel hat.

Drittens schaue Dir auf jeden Fall mal den SQL1-String an, bevor Du die SQL Anweisung ausgibst.

Ist mal so aus der Hüfte geschossen.

Gruß
Das Orakel


----------



## hhunderter (7. Juni 2005)

habe die änderrungen durchgefürt , aber immer noch der fehler

ich habe den sql-befehl mal in einer textbox gemacht und hir ist der text :

INSERT INTO hallo (n1, n2, n3, l1, l2, l3) VALUES ('nix', 'nix', 'nix', 'nix', 'nix', 'nix')


----------



## Orakel (7. Juni 2005)

Hi hunderter,
 heut biste aber wieder hartnäckig 
also ich hab mal schnell folgendes kleine Beispiel gecodet:

```
Private Sub Command1_Click()
    Dim dDatabase                           As Database
    Dim szDBName                            As String
    Dim szSql                               As String

    szDBName = "D:\Temp\DB1.mdb"
    Set dDatabase = OpenDatabase(szDBName, False, False)

    szSql = "INSERT INTO hallo (n1, n2, n3, l1, l2, l3)" & _
            " VALUES " & _
            "('2nix', 'nix', 'nix', 'nix', 'nix', 'nix')"
    dDatabase.Execute szSql, dbSQLPassThrough
    dDatabase.Close
End Sub
```
und das funzelt bei mir einwandfrei

Gruß
Das Orakel


----------



## hhunderter (7. Juni 2005)

ich weis das ich nerver und ich glaber das ich es in meiner signatur schreibe ^^

aber jetz weiter : 
ich habe es wiederum nach meinen wünschen umgebaut und ich habe einen neuen fehler :
Laufzeitfehler 3305
ungültige verbindungszeichenfolge in Pass-Through-Abfrage

ich dreh gleich durch  ;-]


----------

