требуется помощь с VBA Access

Программирование на Visual Basic for Applications
Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

требуется помощь с VBA Access

Сообщение Gurren » 02.06.2011 (Чт) 9:02

Здравствуйте.

Я столкнулся с такой проблемой:

Какой код нужно прописать что бы при закрузке формы, программа переходила на самую последнюю запись (та которая для заполнения) а не торчала на самой первой????
Или есть какие то стандартные функции в Access которые позволяют осуществить это??

Не могу лучше объяснить :oops:

Спасибо за внимание...
программист - это зло © XD

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 03.06.2011 (Пт) 3:45

Да и еще вопрос:

пример:

Код: Выделить всё
    Sub Кнопка_Click()
       Подпрограмма(ПолеСоСписком1)
       Подпрограмма(ПолеСоСписком2)
       Подпрограмма(ПолеСоСписком3)
       DoCmd.Close acForm, "НаименованиеФормы"
       '+++++
    end sub

    function (xxx as string) as boolean
       If IsNumeric(xxx) = False Then
             MsgBox ("Введено не верное значение в поле")
             '******
       End If
    end function


Что мне нужно добавить в ****** что бы программа перенесла меня в +++++
как то так вообщем.....
Помню что используется Метка, а не помню как(((((((((((
программист - это зло © XD

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 03.06.2011 (Пт) 4:06

Нашел как надо!!!!! только почему то не работает(((

Вот так не работает:
Код: Выделить всё
    Sub Кнопка_Click()
       Подпрограмма(ПолеСоСписком1)
       Подпрограмма(ПолеСоСписком2)
       Подпрограмма(ПолеСоСписком3)
       DoCmd.Close acForm, "НаименованиеФормы"
МеткаПерехода:
    end sub

    function (xxx as string) as boolean
           If IsNumeric(xxx) = False Then
                 MsgBox ("Введено не верное значение в поле")
GoTo МеткаПерехода
           End If
    end function




Вот так работает:
Код: Выделить всё
    Sub Кнопка_Click()
       Подпрограмма(ПолеСоСписком1)
       Подпрограмма(ПолеСоСписком2)
       Подпрограмма(ПолеСоСписком3)
       DoCmd.Close acForm, "НаименованиеФормы"
    end sub

    function (xxx as string) as boolean
           If IsNumeric(xxx) = False Then
                 MsgBox ("Введено не верное значение в поле")
GoTo МеткаПерехода
           End If
МеткаПерехода:
    end function



В чем разница???? Не могу понять????? Мне нужно первым способом как то сделать.....
программист - это зло © XD

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Re: требуется помощь с VBA Access

Сообщение Димитрий » 03.06.2011 (Пт) 7:24

Ни чего не пойму, что Вы делаете?
Функция должна выглядеть так:
Код: Выделить всё
function (xxx as string) as boolean
           If IsNumeric(xxx) = False Then MsgBox ("Введено не верное значение в поле")
end function

Только нужна ли она Вам?
Goto из функции делать не нужно. Она вернёт выполнение на сл. строку кода.
И вообще не проще ли в точке вызова функции сделать так к примеру:
Код: Выделить всё
If IsNumeric(xxx) = False Then
       MsgBox ("Введено не верное значение в поле")
Else
       ' код при правильном значении в поле
End If

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Re: требуется помощь с VBA Access

Сообщение Димитрий » 03.06.2011 (Пт) 7:37

По первому вопросу. Я не специалист по Access, но это работает:
Код: Выделить всё
Private Sub Form_Load()
DoCmd.GoToRecord acDataForm, "Имя формы", acLast
DoCmd.GoToRecord acDataForm, "Имя формы", acNext
End Sub

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 03.06.2011 (Пт) 8:25

Огромное спасибо по обоим вопросам Дмитрий.
acLast, acNext помогли, но не везде. Столкнулся с еще с одной проблемой..... * я вас доканаю, ей богу :D *

При загрузке обычной формы все прекрасно работает, но при переходе на следующую форму вылетает ошибка типо "Форма не была открыта" и нельзя воспользоваться acLast, acNext

Вообщем попытаюсь разъяснить...
Точечный рисунок.JPG
Скрин
Точечный рисунок.JPG (118.04 Кб) Просмотров: 11763


Наличные деньги, Кассовый расход, Возврат - это подчиненные формы. В них и требуется с делать переход с помощью acLast, acNext

Я вставлял acLast, acNext во все 3 формы но он написал ошибку... вот сижу и пялюсь в экран :cry:
программист - это зло © XD

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Re: требуется помощь с VBA Access

Сообщение Димитрий » 03.06.2011 (Пт) 8:54

Могу только посоветовать ресурс http://am.rusimport.ru/msaccess/f.aspx

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 03.06.2011 (Пт) 8:58

Спасибо большое за информацию Дмитрий) Надо поковыряться будет на этом сайте....
программист - это зло © XD

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 7:32

Gurren писал(а):Наличные деньги, Кассовый расход, Возврат - это подчиненные формы. В них и требуется с делать переход с помощью acLast, acNextЯ вставлял acLast, acNext во все 3 формы но он написал ошибку... вот сижу и пялюсь в экран


Ваш вопрос не совсем понятен, я например, так и не понял, что вы хотите получить? При выборе одной из подчиненных форм, по событию получения
фокуса перейти к последней записи в этой подчиненной форме, а заодно и в остальных ПЧ, т.е. что-бы синхронность была? Или синхронность не нужна?
На какое событие вы вешаете обработчик и как используете acLast, acNext, т.е. желательно увидеть ваш код.
И еще, как видно из вашего скринах записей в подчиненных формах у вас всего по одной и судя по размерам этих форм этих записей много не будет.
Если у вас все таблицы связаны правильно, и соответсвенно связь ПЧФ и основной установлена правильно, то в ПЧФ должны отображаться не все записи из таблицы, а только те из них, которые связаны с записью в основной форме. А у вас как мне кажеться в ПЧФ отображается все подряд.
Вобщем опишите поподробнее суть ваших изысканий, постараюсь помочь.
Бороться и искать, найти и перепрятать

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 12:18

Простите за не умелую формулировку, я практик... показать могу, а расказать уже проблема.
Попытаюсь объяснить.
Как видно на прошлом скрине, с помощью элемента управления Tree View Control 6.0 (работает как меню) можно переключаться по вкладкам (всего их 3 и они скрыты для того что бы можно было переключаться только через меню).

1.JPG
1.JPG (2.79 Кб) Просмотров: 11737

Как видно запись на скрине стоит первая, а всего их 2. Требуется перейти на 3-юю (то есть пустую).
Синхронность не важна. Главное то, что бы пользователь когда запускает форму - видел пустые поля для их заполнения. В дальнейшем кнопки перехода по записям я уберу :roll:

Этот программный код требуется для работы Tree View Control 6.0.
Код: Выделить всё
Private Sub form_Load()
  Вкладка1.Style = 2
  With Меню.Nodes
    .Add , , "Key0", "Наличные деньги", "Key0", "Key1"
    .Add , , "Key1", "Кассовый расход", "Key0", "Key1"
    .Add , , "Key2", "Возврат", "Key0", "Key1"
  End With
End Sub

Private Sub Меню_NodeClick(ByVal Node As Object)
  With Node
    Вкладка1 = Right(.Key, Len(.Key) - 3)
  End With
End Sub


программный код написанный выше находится в Form_ВыборЗаявки (там по слути больше ничего и нет)
2.JPG
2.JPG (21.63 Кб) Просмотров: 11737


Я acLast и acNext запихивал в 3 подчиненные формы, написал ошибку типо этого - "Формы еще не открыты".
И по этому ругается на acLast и acNext, типо их нельзя применить пока форма не будет открыта(

Вот :roll:
Спасибо за внимание) Буду ждать ответа :)
программист - это зло © XD

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 17:14

Gurren писал(а):Я acLast и acNext запихивал в 3 подчиненные формы, написал ошибку типо этого - "Формы еще не открыты". И по этому ругается на acLast и acNext, типо их нельзя применить пока форма не будет открыта(

Ну большая часть для меня прояснилась, осталось дело за малым, я так и не понял сдедующее: куда ты вставлял acLast и acNext. Т.е. как я понял ты их вставлял в каждый из модулей подчиненных форм и вешал на какое-то событие, но на какое непонятно. Я бы повесил на событие Activate (так оно называется в модуле), а в свойствах если акс русский оно называется Включение. Ты же про acLast и acNext спрашиваешь, так покажи код с их участием. Кстати переход можно сделать и без этих команд. Для этих целей можно также использовать рекордсет формы. Можно также реализовать переход не к последней записи по списку, а к последней которая редактировалась перед закрытием. Вобщем давайте код, или можете заслать ваш проект я подправлю на готовом.
Последний раз редактировалось ger_kar 04.06.2011 (Сб) 18:10, всего редактировалось 1 раз.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: требуется помощь с VBA Access

Сообщение Хакер » 04.06.2011 (Сб) 17:50

ger_kar, прекрати нажимать Enter посреди строчек. Строки и без твоего Enter-а переносятся, когда нужно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 17:59

Понял, у кого монитор не очень широкий получаются строчки через одну, у меня все нормально отображается, поэтому я не обращал на это
внимание, теперь буду.
Бороться и искать, найти и перепрятать

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 18:02

да, вы все правильно поняли.
Я засовывал в 3 починенные формы вот этот программный код:
Код: Выделить всё
Private Sub Form_Load()
DoCmd.GoToRecord acDataForm, "Имя формы", acLast
DoCmd.GoToRecord acDataForm, "Имя формы", acNext
End Sub

На скриншоте в котором я показывал формы которые у меня есть, я пробовал запухнуть acLast и acNext в форму Form_ЗаполнениеРасчетногоРасписания. И там все прекрасно получилось так как там нет никаких подчиненных форм, а просто форма с полями.
А с формой Form_ВыборЗаявки проблема какая то(

Вообщем заливаю файлы
Там 2 файла, БД.mdb и Приложение.mdb
Запускать программу надо через приложение. БД.mdb это просто база данных, а в Приложение.mdb только внешняя оболочка программы.
Только единсвенный минус:
Придется вам связать Приложение.mdb и БД.mdb. Файл -> Импорт связанных таблиц
Proga.rar
(393.77 Кб) Скачиваний: 186


Если есть вопросы - задавайте пожалуйста) буду ждать) :)
программист - это зло © XD

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: требуется помощь с VBA Access

Сообщение Хакер » 04.06.2011 (Сб) 18:03

ger_kar писал(а):не обращал на это
внимание, теперь буду.

Ага. А ещё предложение надо писать с большой буквы и завершать точкой.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 18:09

Ну, с грамматикой у меня все вроде в порядке. Может просто через строку смотрится коряво, сечас подправлю.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 19:49

Попробуй
В каждый из модулей подчиненной формы нужно вставить обработчик события Activate
Код: Выделить всё
Private Sub Form_Activate()
    DoCmd.GoToRecord acActiveDataObject, , acLast
End Sub

У меня работает но через раз. Почему-то не всегда возникает событие.
Попробуй, напиши результат. А я пока другой варинт сделаю.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 20:14

Вот тебе еще вариант с переделкой твоей процедуры и рекордсетом
Код: Выделить всё
Private Sub Меню_NodeClick(ByVal Node As Object)
  Dim intIndex As Integer
  With Node
    intIndex = Right(.Key, Len(.Key) - 3)
    Вкладка1 = intIndex
    Select Case intIndex
        Case 0 'Нал
            If Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.RecordCount > 1 Then _
               Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveLast
        Case 1 'Касса
            If Вкладка8.Controls("ЗаявкаНаКассовыйРасход").Form.Recordset.RecordCount > 1 Then _
               Вкладка8.Controls("ЗаявкаНаКассовыйРасход").Form.Recordset.MoveLast
        Case 2 'Возврат
            If Вкладка12.Controls("ЗаявкаНаВозврат").Form.Recordset.RecordCount > 1 Then _
               Вкладка12.Controls("ЗаявкаНаВозврат").Form.Recordset.MoveLast
    End Select
  End With
End Sub
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 20:20

Кстати я долго промучался с твоим проектом, потому, что пришлось вручную править все пути в проекте к твоей базе.
У тебя все жестко прописано, а у меня например диска N: не сущетсвует. Пользователи потом тоже будут мучаться?
Ты сделай, что-бы твой проект сам находил базу, в заданной папке - например, в той в которой лежит проект.
Бороться и искать, найти и перепрятать

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 20:52

Просто я не могу сейчас тебе что либо сделать так как я щас не дома, а прога у меня только на моем компе. :(

Там вообщем есть модуль для автоматического обновления... "Подпрограмма" вроде называется. только он у меня не работает( Не знаю почему(((( У моего друга стоит точно такой же кусок программного кода и работает нормально, а у меня нет(
Посмотри автоматическое обновление пожалуйста, найди ошибку если не сложно, я как приду домой - попробую подставить твои 2 варианта в БД, ладно? :roll:
программист - это зло © XD

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 21:02

да. если не ошибаюсь то в первом и во втором способе должно быть не много по другому:

не так:
Код: Выделить всё
DoCmd.GoToRecord acActiveDataObject, , acLast


а вот так:
Код: Выделить всё
DoCmd.GoToRecord acActiveDataObject, , acLast
DoCmd.GoToRecord acActiveDataObject, , acNext


acLast - это переход на последнюю запись. То есть допустим из 2-х записей он перейдет на 2-ую
acNext - это перейти на следующую запись. То есть на 3-юю)) :D

Я же прав? или нет как обычно XDD
Если нет, то обаснуй пожалуйста)
программист - это зло © XD

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 21:45

Вообщем пришел я домой и попробовал твоими 2-мя способами.
Вообщем ни так, ни сяк не получилось. Форма вообще никаким образом не реагирует на данные программные коды. Т_Т

Попробовал еще немного изменив твой кодик. Не буду забивать сообщение программным кодом, думаю ты и так поймешь...
Короче добавил acNext перед acLast в обоих спосабах твоих...
Оказалось бесполезно :(
программист - это зло © XD

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 21:53

Кстати посмотрел, почему у тебя связи с базой не обновляются.
Ты зачем в своей форме "Приветствие", которая по своей сути является свободной, установил связь с таблицей? Убери и все будет работать.
Что касается твоего последнего замечания, то я поясню, я видимо не внимательно читал условие и думал, что надо переходить к последней записи. Теперь я понимаю, что тебе надо. Ты хочешь сделать чтобы данные только вводились? Т.е. должен происходить только ввод данных, без возможности по ним перемещаться и редактировать? Так или нет?
Если так, то тогда зачем огород городить. В свойстве формы можно выставить свойство "Ввод данных" присвоив ему "Да" и все.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 21:55

Странно у меня работает.
Бороться и искать, найти и перепрятать

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 22:13

Да, ты все прекрасно понял условие)

Что то вот со связями не понял не много... поподробнее можешь рассказать? Что сделать надо?
программист - это зло © XD

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 22:29

У тебя есть форма 'Приветствие' окрой ее свойства и на вкладке данные убери связь с таблицей ИНН в поле источник записей.
Если тебя в предложенном мною 2 варианте не устраивает переход к последней записи поставь AddNew и будет сразу переход к новой.
Ты мой вариант пробовал, который я тебе отослал?
Бороться и искать, найти и перепрятать

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 22:35

Получил файл программы по ЛС. Спасибо)
С переходом по записям все заработало пришлось кое что доработать :D

Вот твой программный код для перехода на "последнюю + 1" запись

Код: Выделить всё
Private Sub Меню_NodeClick(ByVal Node As Object)
  Dim intIndex As Integer
  With Node
    intIndex = Right(.Key, Len(.Key) - 3)
    Вкладка1 = intIndex
    Select Case intIndex
        Case 0 'Нал
            If Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.RecordCount > 1 Then _
               Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveLast
               Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveNext
        Case 1 'Касса
            If Вкладка8.Controls("ЗаявкаНаКассовыйРасход").Form.Recordset.RecordCount > 1 Then _
               Вкладка8.Controls("ЗаявкаНаКассовыйРасход").Form.Recordset.MoveLast
               Вкладка8.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveNext
        Case 2 'Возврат
            If Вкладка12.Controls("ЗаявкаНаВозврат").Form.Recordset.RecordCount > 1 Then _
               Вкладка12.Controls("ЗаявкаНаВозврат").Form.Recordset.MoveLast
               Вкладка12.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveNext
    End Select
  End With
End Sub


На твой код он постоянно жаловался мол - "нет такой записи" =_=
Я подумал что стоит убрать:
Код: Выделить всё
Вкладка*********.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveNext

*********-это номер вкладки

переделал на вот это вообщем:
Код: Выделить всё
Private Sub Меню_NodeClick(ByVal Node As Object)
  Dim intIndex As Integer
  With Node
    intIndex = Right(.Key, Len(.Key) - 3)
    Вкладка1 = intIndex
    Select Case intIndex
        Case 0 'Нал
            If Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.RecordCount > 1 Then _
               Вкладка5.Controls("ЗаявкаНаНаличку").Form.Recordset.MoveLast
        Case 1 'Касса
            If Вкладка8.Controls("ЗаявкаНаКассовыйРасход").Form.Recordset.RecordCount > 1 Then _
               Вкладка8.Controls("ЗаявкаНаКассовыйРасход").Form.Recordset.MoveLast
        Case 2 'Возврат
            If Вкладка12.Controls("ЗаявкаНаВозврат").Form.Recordset.RecordCount > 1 Then _
               Вкладка12.Controls("ЗаявкаНаВозврат").Form.Recordset.MoveLast
    End Select
  End With
End Sub


Странно, но я как то умудрился угадать и все заработало! :lol: :lol: :lol:

Только меня немного смутило то что внизу показывает показывает количество записей - 1 почему то... :?:
Это нормально???? :?: :?:
программист - это зло © XD

Gurren
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 02.06.2011 (Чт) 8:47

Re: требуется помощь с VBA Access

Сообщение Gurren » 04.06.2011 (Сб) 23:00

Только меня немного смутило то что внизу показывает показывает количество записей - 1 почему то... :?:
Это нормально???? :?: :?:


Вот. я заскринил...
2.JPG
2.JPG (17.26 Кб) Просмотров: 11686


Если ты зайдешь в прогу, то увидишь что там записей больше чем одна((
Из за чего это? :scratch:
программист - это зло © XD

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 23:03

Раз у тебя колличество записей - 1, значит ты изменил свойство формы "Ввод данных". Если ты воспользовался этим способом, то код с переходами вообще никой не нужен. А колличество записей будет показывать то, которое вводится в текущем сеансе. Т.е. пользователь сможет только вводить данные, а просмотреть ранее введенные и их колличество не сможет.
Если использовать вариант с кодом, то свойство формы "Ввод данных" нужно поставить в нет. А для перехода вместо последней записи к вводу новой, использовать вместо MoveLast AddNew соответсвенно. При этом варианте, сохраниться возможность путешествия по записям.
Бороться и искать, найти и перепрятать

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: требуется помощь с VBA Access

Сообщение ger_kar » 04.06.2011 (Сб) 23:08

Бороться и искать, найти и перепрятать

След.

Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60

    TopList