2016-04-21 5 views
0

Ich habe vor kurzem ein Datenbank-Back-End auf SQL aktualisiert und das gleiche Frontend gehalten, also aktualisiere ich einige Code, aber ich kann nicht herausfinden, warum dies einen Null-Wert für .Fields ("BuildingID") . Jede Hilfe würde gerne geschätzt werden!SQL-Abfrage, die Null-Tabelle

Set rst = CurrentDb.OpenRecordset("SELECT * FROM Buildings, dbOpenDynaset, dbSeeChanges) 
    . 
    . 
    . 
If Not rst Then 
    With rst 
    .AddNew 
    NewID = .Fields("BuildingID") 
+0

am Ende der Auswahlabfrage da sein soll ich den Verdacht, dass die‚AddNew‘hat nur einen Datensatz zu dem Re-Cord hinzugefügt, es ist noch nicht eine Zeile eingefügt in Ich vermute auch, dass BuildingID als IDENTITY - Spalte in SQL Server deklariert ist.Ich glaube nicht, dass die an einem Recordset vorgenommenen Änderungen auf die Datenbank angewendet werden, bis Sie ein .Update für das Recordset ausführen IDENTITY-Spalte wird der neuen Zeile nicht zugewiesen, bevor sie in die SQL Server-Datenbank eingefügt wird.) Dies ist keine Antwort, es ist nur eine Vermutung. – spencer7593

Antwort

0

Ich denke, "wie

Set rst = CurrentDb.OpenRecordset("SELECT * FROM Buildings", dbOpenDynaset, dbSeeChanges) 
+0

Ich denke, das Ende der S Die ELECT-Abfrage befindet sich vor dem Komma, das auf Gebäude folgt. Ich denke, was folgt die SELECT-Abfrage sind Optionen (z. B. ist der Satz nur vorwärts blättern, ist es nur lesen, etc.) (Dieser Code sieht viel mehr wie der Microsoft-Stack (z. B. DAO und VB), dass es wie MySQL aussieht. – spencer7593

Verwandte Themen