Как исправить ошибку времени выполнения MS Access «2498» в Access VBA? - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь написать код, который распечатает мою текущую форму для текущей записи. Вот что я использую:

Private Sub PrintCommand_Click()
Dim myform As Form
Dim pageno As Long
pageno = Me.CurrentRecord
Set myform = Screen.ActiveForm
DoCmd.SelectObject acForm, myform.Name, True
DoCmd.PrintOut acPages, pageno, pageno, , 1
DoCmd.SelectObject acForm, myform.Name, False
End Sub

Когда я измеряю «pageno» как целое число, это дает мне ошибку переполнения для некоторых моих записей, которые превышают 65000. Итак, я измерил его как длинные данные type, но затем я получаю следующую ошибку: Ошибка времени выполнения «2498»: введенное вами выражение является неправильным типом данных для одного из аргументов. "

Я также попытался сделать" pageno "вариантными данными типа, и я получил то же сообщение об ошибке 2498. Любые предложения по исправлению этого или другого решения для печати моей формы для текущей записи?

Обновление: это работает и выполняет то, что я собирался ...

Private Sub PrintCommand_Click()
'Print out the current record
Me.Filter = "[Quote Number] = " & QuoteNumberEntry.Value
Me.FilterOn = True
DoCmd.PrintOut
Me.Filter = ""
Me.FilterOn = False
End Sub
...