Помощь по VBA (Access)

Чтобы отправить комментарий — войдите.
  • I
    24 июл 08
    выкладывай код, будем разбираться
    Ответить
    • roy_71
      roy_71 АВТОР
      in3gant 24 июл 08
      :)
      Ответить
      • I
        roy_71 24 июл 08
        Вместо

        stDocName = ChrW(1050) & ChrW(1086) & ChrW(1084) & ChrW(1072) & ChrW(1085) & ChrW(1076) & ChrW(1080) & ChrW(1088) & ChrW(1086) & ChrW(1074) & ChrW(1082) & ChrW(1072)

        Напиши

        stDocName = ChrW$(&H41A) & ChrW$(&H43E) & ChrW$(&H43C) & ChrW$(&H430) & ChrW$(&H43D) & ChrW$(&H434) & ChrW$(&H438) & ChrW$(&H440) & ChrW$(&H43E) & ChrW$(&H432) & ChrW$(&H43A) & ChrW$(&H430)
        Ответить
        • roy_71
          roy_71 АВТОР
          in3gant 25 июл 08
          Заменил :( Без изменений. Я думаю все эти выражения правильны с точки зрения VBA — все-таки надо искать библиотеку которая за это отвечает
          Ответить
    • roy_71
      roy_71 АВТОР
      in3gant 24 июл 08
      Хотя врядли это поможет:

      Option Compare Database

      Private Sub Кнопка0_Click()

      On Error GoTo Err_Кнопка0_Click

      Dim stDocName As String

      Dim stLinkCriteria As String

      stDocName = "Данные"

      DoCmd.OpenForm stDocName, , , stLinkCriteria

      Exit_Кнопка0_Click:

      Exit Sub

      Err_Кнопка0_Click:

      MsgBox Err.Description

      Resume Exit_Кнопка0_Click

      End Sub

      Private Sub Кнопка1_Click()

      On Error GoTo Err_Кнопка1_Click

      Dim stDocName As String

      Dim stLinkCriteria As String

      stDocName = ChrW(1050) & ChrW(1086) & ChrW(1084) & ChrW(1072) & ChrW(1085) & ChrW(1076) & ChrW(1080) & ChrW(1088) & ChrW(1086) & ChrW(1074) & ChrW(1082) & ChrW(1072)

      DoCmd.OpenForm stDocName, , , stLinkCriteria

      Exit_Кнопка1_Click:

      Exit Sub

      Err_Кнопка1_Click:

      MsgBox Err.Description

      Resume Exit_Кнопка1_Click

      End Sub

      Private Sub Кнопка4_Click()

      DoCmd.Quit acQuitSaveAll

      End Sub

      Это код кнопочной панели который был сгенерирован Access. На первой кнопке я поменял параметр stDocName на "Данные" она стала вызывать нужную форму. При попытке вызвать следующую форму вызывает вышеуказанную ошибку.

      Ваши комментарии в студию.

      Могу добавить, что эта база перестала работать после переустановки системы. каких баз не хватает не знаю, я установил какие у меня были (MS Visual FoxPro, Visual Basic, C++).
      Ответить
  • S
    23 июл 08
    А проверь включена ли у тебя в References стандартная библиотека — Visual Basic For Applications.
    Ответить
    • roy_71
      roy_71 АВТОР
      Sabian 23 июл 08
      Если можно поконкретнее где посмотреть?
      Ответить
      • I
        roy_71 23 июл 08
        а при чем тут References. Если раньше работала, то и сейчас работать должна, если сам ничего не поменял. Я думаю искать надо где-то в другом месте...
        Ответить
  • I
    23 июл 08
    интересно, мне кажется они пытались написать имя формы посредством ascii, если мои догадки верны, то надо использовать функцию chr(), а не chrW()
    Ответить
  • I
    23 июл 08
    попробуй просто chr(1044)
    Ответить
    • roy_71
      roy_71 АВТОР
      in3gant 23 июл 08
      Поменял, не работает.

      Дело в том, что это, я сам писал, точнее, вставлял кнопку и к ней в автоматическом режиме создавал процедуру обработки событий — выбирал форму для открытия, после чего имя этой формы преобразовывалось в такой вид (Access XP). Сейчас меняю в ручную набор ascii — символов на вполне нормальное название напр. "Данные" — все работает. К сожалению база большая и в ручную переписывать все процедуры неохота. Должна же быть какая-то библиотека для работы с ascii — набором
      Ответить
      • roy_71
        roy_71 АВТОР
        roy_71 23 июл 08
        Раньше же работала
        Ответить
        • I
          roy_71 23 июл 08
          а у тебя SP3 стоит?
          Ответить
          • roy_71
            roy_71 АВТОР
            in3gant 23 июл 08
            Нет не стоит
            Ответить
            • I
              roy_71 23 июл 08
              на каком работала, русском или англ. А сейчас какой стоит?
              Ответить
              • roy_71
                roy_71 АВТОР
                in3gant 23 июл 08
                Работала на русском и сейчас русский.
                Ответить
full image