Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при обновлении / 14 сообщений из 14, страница 1 из 1
13.07.2016, 11:37
    #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
13.07.2016, 12:14
    #39272964
Agapov_stas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
4loss , проще написать где нет ошибок, чем перечислить все Ваш ошибки..
...
Рейтинг: 0 / 0
13.07.2016, 12:22
    #39272977
Agapov_stas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
Вы приведите структуру таблицы.А так даже не понятно есть ли у Вас действительно поле id(смущает проверка на idaccount вместо id) и не понятно у какого поля какой тип данных хранится.
И главное, описать, что Вы делаете?Я так понимаю, у Вас открывается unbound-форма или текущей записи или для новой записи. И вы при сохранении дынных это пытаетесь проверить, правильно понял Вашу задумку?
...
Рейтинг: 0 / 0
13.07.2016, 12:56
    #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
13.07.2016, 13:20
    #39273022
4loss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
Agapov_stas,
у меня действительно по кнопке, открывается форма, текущая запись, связка с другой таблицей по idaccount.нажимаем кнопку, в откр форме заполняем поля и нажимаем сохранить-> тогда идет проверка если запись с idaccount уже есть,то обновляем, если нет то вставляем новую запись
...
Рейтинг: 0 / 0
13.07.2016, 13:26
    #39273032
4loss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
Agapov_stas,
меня в принципе устраивает мой вариант, толь ошибка "несоответствия типов данных"
...
Рейтинг: 0 / 0
13.07.2016, 13:27
    #39273033
4loss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
...
Рейтинг: 0 / 0
13.07.2016, 13:32
    #39273040
Agapov_stas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
У Вас на главной форме есть подчиненная, и Вы изменяете/добавляете данные записи подчиненной или как?
Если да, и idaccount - это код основной записи(главной формы), то передавайте форме сразу значение ID основной формы.
...
Рейтинг: 0 / 0
13.07.2016, 13:35
    #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
13.07.2016, 13:40
    #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
13.07.2016, 13:50
    #39273069
4loss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обновлении
Agapov_stas, по Вашему примеру обновляет нормально, а при вставке ошибка,
Код: vbnet
1.
Me.Tiketid = !ID

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


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