Обновление связанной таблицы "???" не удалось - PullRequest
0 голосов
/ 25 апреля 2018

Я получаю сообщение об ошибке «Ошибка времени выполнения 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 выдает ошибку без имени таблицы, вместо этого выдает '???'

1 Ответ

0 голосов
/ 25 апреля 2018

3157 обычно вызывается нарушением правил.Это может означать:

  1. База данных ODBC доступна только для чтения, или учетная запись, связанная с подключением ODBC, не имеет разрешения на обновление данных в этой базе данных.

  2. Не удалось установить соединение ODBC (неверная строка подключения)

Я бы начал с проверки, работает ли соединение для каких-либо запросов, если оноесть ли какие-либо операторы создания, работающие через VB?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...