Tabelle in Access entsprerren

hi x-perts,

flogendes Problem:

ich aktualisiere mit

DoCmd.RunSQL „select * into selected_BSC_time_A from msauber_CPU_BSC where ([stime] between startzeit and finito) and NE_ID=BSCen and A_int_bss 0;“

den Inhalt einer Tabelle (funktioniert problemlos). Danach möchte ich mit einem recordset auf diese Tabelle zugreifen. Das erzeugt eine Fehlermeldung, daß die Tabelle gesperrt ist.
Wie kann ich die Tabelle programmtechnisch entsprerren.

thanks im Voraus

mikey

Nimm mal Database.Execute (DAO) bzw. Connection.Execute (ADO) anstelle von RunSQL!

Reinhard

Hallo Reinhard
ich kann beim besten Willen den Fehler von Michael nicht reproduzieren und würd’s aber so gerne mal sehen (was mach’ ich denn eigentlich falsch, wenn alles vermeintlich richtig läuft). Bei einigen Test-Methoden auf das RS-Objekt läuft’s hier einwandfrei. Wenn ich’s richtig sehe, soll doch wohl eine neue Tabelle mittels RunSQL-Methode erstellt und nicht „aktualisiert“ werden, wie in der ursprünglichen Fragestellung formuliert).

Gruß
Stephan

Private Sub Befehl1_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
DoCmd.RunSQL „SELECT TabellenName.* INTO NeuerTabellenName FROM TabellenName;“
Set rs = db.OpenRecordset(„NeuerTabellenname“)
rs.AddNew
rs.Fields(„IrgendEinFeld“) = „Testheimer“
rs.Update
rs.MoveLast
rs.LockEdits = True
rs.Edit
rs.Fields(„IrgendEinFeld“) = „Testheimer obwohl LockEdits True ist“
rs.Update
Debug.Print rs.Fields(„IrgendEinFeld“) & " Klappt doch prima."
Debug.Print rs.RecordCount & " einer mehr als eben, also Zugriff geht."

End Sub

Schwer zu sagen, woran es bei Michael genau liegt. Vielleicht hat er ja auch parallel ein Formular geöffnet, das auf genau diese Daten zugreift.

RunSQL erzeugt gewisse Nebenläufigkeiten und hat auch nicht die beste Fehlerbehandlung. Mit Execute kann man z.B. hinterher die Eigenschaft RecordsAffected oder auch die Errors-Auflistung auswerten und weiss dann meist mehr…

Reinhard