Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автономер и новая запись / 14 сообщений из 14, страница 1 из 1
19.01.2005, 15:35:18
    #32872675
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
Задача: программно создать новую запись с номером +1, вставить текущую дату-время, перейти на эту запись и показать в обновленном виде. Выполняется успешно но до уровня перехода на запись, т.е. она отображается в таком виде. Приходится тыкать на программную кнопку "предыдущая запись" и потом "следующая запись" и тогда видно обновление. Пытался делать Me.refresh, me.requery - не помогает. Все равно поле booking number пустое и поле ID имеет значение autonumber. Фотка приложена. Код на кнопку "следующая запись" такой:

Код: plaintext
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.
Private Sub tw_go_nextrecord_Click()
On Error Resume Next
Dim VN As Double
  VN = RBev!bookingnumber +  1 
  RBev.MoveNext
  If Not RBev.EOF Then
  Selectie = "SELECT * FROM maindata WHERE bookingnumber = " & RBev!bookingnumber
        Forms.dannie1.RecordSource = Selectie
  Else
     If MsgBox(" New record ? ", vbYesNo, " New record") = vbYes Then
        RBev.Index = "bookingnumber"
        r_search = "bookingnumber"
        RBev.MoveLast
        RBev.AddNew
        RBev!bookingnumber = VN
        RBev!bookingdate = Now()
        RBev.Update
        RBev.MoveLast
        Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
        Forms.dannie1.RecordSource = Selectie
        Forms.dannie1.clientname.SetFocus
     Else
       RBev.MoveLast
       Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
         Forms.dannie1.RecordSource = Selectie
         Forms.dannie1.clientname.SetFocus
     End If
  End If
End Sub
...
Рейтинг: 0 / 0
19.01.2005, 15:46:25
    #32872712
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
фотки тут
http://22.0catch.com/form1.gif - это при переходе на новую запись
http://22.0catch.com/form2.gif - это после отката назад и снова вперед, т.е. данные вставляются
...
Рейтинг: 0 / 0
19.01.2005, 15:51:03
    #32872721
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
код просто великолепный
индекс то зачем?
переменная VN объявлена типа double, хотя по идее должна быть Long
да и ваще... ;)
--------------
crazy about...
...
Рейтинг: 0 / 0
19.01.2005, 15:55:26
    #32872735
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
дак мне не шашечки, мне ехать.. Не профессионал в акцессе, главное чтобы работало..
...
Рейтинг: 0 / 0
19.01.2005, 16:05:34
    #32872766
Bagin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
rulez22Пытался делать Me.refresh, me.requery - не помогает.Запомнить ID необходимой записи, сделать Forms.dannie1.RecordSource = Selectie, переход на нужную запись или просто переход на последнюю запись, если уверены, что она самая та
...
Рейтинг: 0 / 0
19.01.2005, 16:12:19
    #32872787
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
А где и как именно в коде сделать это можно поподробнее пожалуйста?
...
Рейтинг: 0 / 0
19.01.2005, 16:24:33
    #32872837
Bagin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
там, где Вы пытались делать Me.refresh, me.requery, в самом конце кода
А обязательно делать RBev!bookingdate = Now() программно, может по-умолчанию сделать и не мучаться
И вот еще, или я не понимаю или как. Вместо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
     If MsgBox(" New record ? ", vbYesNo, " New record") = vbYes Then
        RBev.Index = "bookingnumber"
        r_search = "bookingnumber"
        RBev.MoveLast
        RBev.AddNew
        RBev!bookingnumber = VN
        RBev!bookingdate = Now()
        RBev.Update
        RBev.MoveLast
        Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
        Forms.dannie1.RecordSource = Selectie
        Forms.dannie1.clientname.SetFocus
     Else
       RBev.MoveLast
       Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
         Forms.dannie1.RecordSource = Selectie
         Forms.dannie1.clientname.SetFocus
     End If
Можно сделать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
     If MsgBox(" New record ? ", vbYesNo, " New record") = vbYes Then
        RBev.Index = "bookingnumber"
        r_search = "bookingnumber"
        RBev.MoveLast
        RBev.AddNew
        RBev!bookingnumber = VN
        RBev!bookingdate = Now()
        RBev.Update
     End If
     RBev.MoveLast
     Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
     Forms.dannie1.RecordSource = Selectie
     Forms.dannie1.clientname.SetFocus
     
...
Рейтинг: 0 / 0
19.01.2005, 16:32:03
    #32872871
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
Хм, сделал. Так же данные вставляет но не обновляется на экране. Опять приходится откатываться.
...
Рейтинг: 0 / 0
19.01.2005, 16:41:35
    #32872912
Bagin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
Приведите пожалуйста код
...
Рейтинг: 0 / 0
19.01.2005, 18:06:46
    #32873152
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
Как вы сказали так и сделал
Private Sub tw_go_nextrecord_Click()
Dim VN As Long
VN = RBev!bookingnumber + 1
RBev.MoveNext
If Not RBev.EOF Then
Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
Forms.dannie1.RecordSource = Selectie
Else
If MsgBox(" New record? ", vbYesNo, " New record") = vbYes Then
RBev.Index = "bookingnumber"
r_search = ""
RBev.MoveLast
RBev.AddNew
RBev!bookingnumber = VN
RBev!bookingdate = Now()
RBev.Update
End If
RBev.MoveLast
Selectie = "SELECT * FROM dannie1 WHERE bookingnumber = " & RBev!bookingnumber
Forms.dannie1.RecordSource = Selectie
End If
End Sub
...
Рейтинг: 0 / 0
19.01.2005, 18:17:05
    #32873178
Bagin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
Не вижу чего-то такого.
Может поместите свою базу на форум, оставив только то, что касается Вашего вопроса, чтобы посмотреть в действии.
...
Рейтинг: 0 / 0
19.01.2005, 18:21:18
    #32873192
GUESТ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
а это что еще такое?

>:|


http://22.0catch.com/Nazi%20symbol%201.jpg
...
Рейтинг: 0 / 0
19.01.2005, 18:32:39
    #32873229
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
2 Bagin: могу закинуть файл целиком на почту. Если сообщите емайл на icq 47-58-00-25
...
Рейтинг: 0 / 0
19.01.2005, 19:22:32
    #32873317
rulez22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автономер и новая запись
может как-нибудь через букмарки можно?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автономер и новая запись / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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