powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при обновлении
14 сообщений из 14, страница 1 из 1
Ошибка при обновлении
    #39272919
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите найти в чем ошибка, пожалуйста! ругается на строчку CurrentDb.Execute addTikcket после запроса на обновление (ошибка 3464)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub Кнопка6_Click()
Dim addTikcket As String

If IsNull(DLookup("[IDACCOUNT]", "TBL_SEASON_TICKET", "[IDACCOUNT] = Forms![frmTicket_подчиненная].Form!id")) Then

addTikcket = "INSERT INTO TBL_SEASON_TICKET ([IDACCOUNT], [NUM_TICKET], [DAYS_WEEK], [CLOCK], [NUM_RECEIPT], [DATE_RECEIPT], [DATE_UNFIT]) VALUES " & _
     "('" & Me.ID & "', '" & _
            Me.NUM_TICKET & "', '" & _
            Me.DAYS_WEEK & "', '" & _
            Me.CLOCK & "', '" & _
            Me.NUM_RECEIPT & "', '" & _
            Me.DATE_RECEIPT & "', '" & _
            Me.DATE_UNFIT & "');"
     
     CurrentDb.Execute addTikcket
     MsgBox "внесено", vbExclamation, "Перевірте введені дані!"
     Else
         
addTikcket = "UPDATE TBL_SEASON_TICKET SET [IDACCOUNT] = '" & Me.ID.Value & "', " & _
            "[NUM_TICKET] = '" & Me.NUM_TICKET.Value & "', " & _
            "[DAYS_WEEK] = '" & Me.DAYS_WEEK.Value & "', " & _
            "[CLOCK] = '" & Me.CLOCK.Value & "', " & _
            "[NUM_RECEIPT] = '" & Me.NUM_RECEIPT.Value & "', " & _
            "[DATE_RECEIPT] = '" & Format(Me.DATE_RECEIPT, "\#mm\/dd\/yyyy\#") & "', " & _
            "[DATE_UNFIT] = '" & Format(Me.DATE_UNFIT, "\#mm\/dd\/yyyy\#") & "', " & _
            "[id] = '" & Me.Tiketid.Value & "';"
                   MsgBox "неееее внесено-обновление", vbExclamation, "Перевірте введені дані!"
                   
                   
CurrentDb.Execute addTikcket
   
End If
Forms![frmControlAccount].Requery
End Sub
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39272964
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4loss , проще написать где нет ошибок, чем перечислить все Ваш ошибки..
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39272977
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы приведите структуру таблицы.А так даже не понятно есть ли у Вас действительно поле id(смущает проверка на idaccount вместо id) и не понятно у какого поля какой тип данных хранится.
И главное, описать, что Вы делаете?Я так понимаю, у Вас открывается unbound-форма или текущей записи или для новой записи. И вы при сохранении дынных это пытаетесь проверить, правильно понял Вашу задумку?
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273004
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем, если это действительно так, как я предположил,то как вариант:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Dim rs As Object
Set rs = CurrentDb.OpenRecordset("SELECT id,IDACCOUNT,NUM_TICKET,DAYS_WEEK,CLOCK,NUM_RECEIPT,DATE_RECEIPT,DATE_UNFIT FROM TBL_SEASON_TICKET WHERE id=" & Nz(Me.ID, 0))
With rs
    If .BOF Then
        .AddNew
        Me.ID = !ID
    Else
        .MoveLast
        .Edit
    End If
    !IDACCOUNT = Me.IDACCOUNT
    !NUM_TICKET = Me.NUM_TICKET
    !DAYS_WEEK = Me.DAYS_WEEK
    !CLOCK = Me.CLOCK
    !NUM_RECEIPT = Me.NUM_RECEIPT
    !DATE_RECEIPT = Me.DATE_RECEIPT
    !DATE_UNFIT = Me.DATE_UNFIT
    .Update
    .Close
End With
Set rs = Nothing
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273022
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Agapov_stas,
у меня действительно по кнопке, открывается форма, текущая запись, связка с другой таблицей по idaccount.нажимаем кнопку, в откр форме заполняем поля и нажимаем сохранить-> тогда идет проверка если запись с idaccount уже есть,то обновляем, если нет то вставляем новую запись
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273032
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Agapov_stas,
меня в принципе устраивает мой вариант, толь ошибка "несоответствия типов данных"
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273033
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273040
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас на главной форме есть подчиненная, и Вы изменяете/добавляете данные записи подчиненной или как?
Если да, и idaccount - это код основной записи(главной формы), то передавайте форме сразу значение ID основной формы.
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273047
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Agapov_stas, не подчиненная, а открывается новая форма, для этого в источнике таблицы такие:

Код: plsql
1.
2.
3.
SELECT TBL_SEASON_TICKET.IDACCOUNT, TBL_SEASON_TICKET.NUM_TICKET, TBL_SEASON_TICKET.DAYS_WEEK, TBL_SEASON_TICKET.NUM_RECEIPT, TBL_SEASON_TICKET.DATE_RECEIPT, TBL_SEASON_TICKET.DATE_UNFIT, TBL_SEASON_TICKET.ID, TBL_ACCOUNT.ID AS addid, TBL_SEASON_TICKET.CLOCK
FROM TBL_ACCOUNT LEFT JOIN TBL_SEASON_TICKET ON TBL_ACCOUNT.ID = TBL_SEASON_TICKET.IDACCOUNT
WHERE (((TBL_ACCOUNT.ID)=[Forms]![frmControlAccount]![ID]));


скорее всего у меня этот запрос не правильный
frmControlAccount - это первая форма
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273054
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Dim rs As Object
Set rs = CurrentDb.OpenRecordset("SELECT id,IDACCOUNT,NUM_TICKET,DAYS_WEEK,CLOCK,NUM_RECEIPT,DATE_RECEIPT,DATE_UNFIT FROM TBL_SEASON_TICKET WHERE id=" & Nz(Me.Tiketid, 0))
With rs
    If .BOF Then
        .AddNew
        Me.Tiketid = !ID
    Else
        .MoveLast
        .Edit
    End If
    !IDACCOUNT = Forms![frmControlAccount]!ID
    !NUM_TICKET = Me.NUM_TICKET
    !DAYS_WEEK = Me.DAYS_WEEK
    !CLOCK = Me.CLOCK
    !NUM_RECEIPT = Me.NUM_RECEIPT
    !DATE_RECEIPT = Me.DATE_RECEIPT
    !DATE_UNFIT = Me.DATE_UNFIT
    .Update
    .Close
End With
Set rs = Nothing
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273069
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Agapov_stas, по Вашему примеру обновляет нормально, а при вставке ошибка,
Код: vbnet
1.
Me.Tiketid = !ID

равняется Null
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273072
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я же id вручную не ввожу,а при открытии формы воно равняется 0
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273080
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4lossя же id вручную не ввожу,а при открытии формы воно равняется 0
Это понятно.
Если на открываемой форме нет поля Tiketid , то просто уберите строку Me.Tiketid = !ID и все.
...
Рейтинг: 0 / 0
Ошибка при обновлении
    #39273215
4loss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Agapov_stas,
огромное спасибо!!!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при обновлении
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]