Я получаю сообщение об ошибке «Ошибка времени выполнения 3157: ODBC - обновление связанной таблицы» «???»не удалось.'когда я пытаюсь обновить таблицу с помощью кода VB6, но обновление работает нормально через MS Access.
Я использую MS Access в качестве интерфейса для SQL 2008.
Схема таблицы:
CREATE TABLE [varijable] (
[rabat_racuni] FLOAT DEFAULT 0,
[rabat_diskont] FLOAT DEFAULT 0,
[napomena_racuni] NTEXT,
[napomena_predracuni] NTEXT,
[napomena_diskont] NTEXT,
[napomena_revers] NTEXT,
[putanja_artikli] NVARCHAR(225),
[rab] FLOAT DEFAULT 0,
[prodaja] INTEGER DEFAULT 0,
[profaktura] INTEGER DEFAULT 0,
[faktura] INTEGER DEFAULT 0,
[revers] INTEGER DEFAULT 0,
[dan_azur] DATETIME,
[status] SMALLINT,
[oznaka_goriva] NVARCHAR(50),
[naknada_goriva] FLOAT,
[sifra_naknade] NVARCHAR(255),
[server_baza] NTEXT,
[an] [INTEGER] IDENTITY NOT NULL,
CONSTRAINT [varijable$an] PRIMARY KEY ([an])
);
GO
Код с обновлением:
'odredi broj
Data28.RecordSource = "select * from varijable"
Data28.Refresh
'ispravi brojeve u datoteci rednih brojeva
Data28.Recordset.Edit
If Combo4.ListIndex = 0 Then
br = Data28.Recordset.Fields("prodaja") + 1
Data28.Recordset.Fields("prodaja") = br
End If
If Combo4.ListIndex = 1 Then
br = Data28.Recordset.Fields("profaktura") + 1
Data28.Recordset.Fields("profaktura") = br
End If
If Combo4.ListIndex = 2 Then
br = Data28.Recordset.Fields("faktura") + 1
Data28.Recordset.Fields("faktura") = br
End If
If Combo4.ListIndex = 3 Then
br = Data28.Recordset.Fields("revers") + 1
Data28.Recordset.Fields("revers") = br
End If
''on error GoTo greska
Data28.Recordset.Update <----- Throws error 3157
И почему VB6 выдает ошибку без имени таблицы, вместо этого выдает '???'