powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка если форме присвоено значение "Всплывающее окно"
14 сообщений из 14, страница 1 из 1
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790690
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И снова здравствуйте, как всегда есть форма, открывается она из другой формы (кнопкой).
Так вот проблема в том, что если присвоить форме значение "Всплывающее окно" то она начинает ругаться на VBA код



код прилагаю
Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
Option Compare Database
Option Explicit
Private Sub Form_Current()
Dim strPicFile As String
Dim rs As Recordset
  Set rs = Me.RecordsetClone 'Для дальнейшей работы нужен набор записей
  If IsNull(Me!ID) Then 'Если запись новая, то очищаем картинку на форме
    Me.imgPicture.Picture = ""
  Else
    rs.Bookmark = Me.Bookmark 'Встаём на текущую запись формы
    strPicFile = GetPath(CurrentDb.Name) & "temp.jpg" & Me!PictureType 'Получаем координаты временного файла
    Call WriteBLOB(rs, "Picture", strPicFile) 'Пишем картинку из поля Picture во временный файл
    Me.imgPicture.Picture = strPicFile 'Выводим картинку из этого временного файла в форму
  End If
End Sub

Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As Recordset
    'Зададим параметры и вызовем диалог открытия файла
    strFilter = ahtAddFilterItem(strFilter, "Картинки JPEG", "*.JPG")
    strPicFile = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
                    DialogTitle:="Выберите картинку...", _
                    flags:=ahtOFN_HIDEREADONLY)
    If strPicFile = "" Then Exit Sub 'Если файл не выбран - выходим из процедуры
    Me.txtPictureType = GetExt(strPicFile) 'Расширение файла картинки запомним в поле PictureType
     
                          ругается на строчку ниже, если ей ставлю " ' ", то тогда пишет что "данная запись используется другим пользователем, сохранение не возможно".
                             DoCmd.RunCommand acCmdSaveRecord 'Сохраним запись, что важно, если она новая
    


     Set rs = Me.RecordsetClone 'Для дальнейшей работы нужен набор записей
    rs.Bookmark = Me.Bookmark 'Встаём на текущую запись формы
    rs.Edit
      Call ReadBLOB(strPicFile, rs, "Picture") 'Пишем картинку из файла в поле Picture
    rs.Update
    'Пишем картинку обратно из поля Picture во временный файл в текущем каталоге базы
    Call WriteBLOB(rs, "Picture", GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile))
    'Выводим картинку из этого временного файла в форму
    Me.imgPicture.Picture = GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile)

End Sub

Private Sub Кн_Выход_Click()
On Error GoTo Err_Кн_Выход_Click
DoCmd.Close
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Данные"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кн_Выход_Click:
    Exit Sub
Err_Кн_Выход_Click:
    MsgBox Err.Description
    Resume Exit_Кн_Выход_Click
End Sub


Все функции прописаны в трёх модулях, если нужны будут то выложу.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790718
_gurD_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wawan2005,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Кн_Выход_Click()
On Error GoTo Err_Кн_Выход_Click
DoCmd.Close
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Данные"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кн_Выход_Click:
    Exit Sub
Err_Кн_Выход_Click:
    MsgBox Err.Description
    Resume Exit_Кн_Выход_Click
End Sub


чтобы код в форме работал, она должна иметь фокус, а не быть закрытой
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790724
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_gurD_,

Да это кнопка "Выход", этот кусок работает нормально (я его и создал из-за того что код перестал работать), меня интересует кнопка "btnLoad" в ней проблема, я же там написал.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790730
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
Код: vbnet
1.
2.
ругается на строчку ниже, если ей ставлю " ' ", то тогда пишет что "данная запись используется другим пользователем, сохранение не возможно".
                             DoCmd.RunCommand acCmdSaveRecord 'Сохраним запись, что важно, если она новая

Замени всё это добро так
Код: vbnet
1.
2.
3.
...
    if me.Dirty then me.Dirty=false
...


Новая запись проверяется по свойству формы NewRecord

Зачем используешь ahtCommonFileOpenSave (и прочее что находится у тебя там в модуле)? Будь проще - используй FileDialog

Зачем RecordsetClone ? ИМХО, хватит и текущего, передавай его.

Я понимаю? что функции работы с именем файла не твои(?), но... открой для себя функцию InStrRev
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790732
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панурготкрой для себя функцию InStrRev Wawan2005
Код: vbnet
1.
GetExt(strPicFile)

Код: vbnet
1.
Mid$(strPicFile, InStrRev(strPicFile, ".") + 1)

и т.д.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790733
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панурги т.дЭто к тому, чтобы убрать циклы в тех вспомогательных функциях.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790752
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Спасибо, приду домой посмотрю, отпишусь.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790763
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Сделал вот так:
Код: 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.
Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As Recordset
    'Зададим параметры и вызовем диалог открытия файла
    strFilter = ahtAddFilterItem(strFilter, "Картинки JPEG", "*.JPG")
    strPicFile = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
                    DialogTitle:="Выберите картинку...", _
                    flags:=ahtOFN_HIDEREADONLY)
    If strPicFile = "" Then Exit Sub 'Если файл не выбран - выходим из процедуры
    Me.txtPictureType = GetExt(strPicFile) 'Расширение файла картинки запомним в поле PictureType
 If Me.Dirty Then Me.Dirty = False
 '   DoCmd.RunCommand acCmdSaveRecord 'Сохраним запись, что важно, если она новая
    Set rs = Me.RecordsetClone 'Для дальнейшей работы нужен набор записей
    rs.Bookmark = Me.Bookmark 'Встаём на текущую запись формы
    rs.Edit
      Call ReadBLOB(strPicFile, rs, "Picture") 'Пишем картинку из файла в поле Picture
    rs.Update
    'Пишем картинку обратно из поля Picture во временный файл в текущем каталоге базы
    Call WriteBLOB(rs, "Picture", GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile))
    'Выводим картинку из этого временного файла в форму
    Me.imgPicture.Picture = GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile)

End Sub



Заработало.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790764
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Ничего не понял

Панург
Код: vbnet
1.
Mid$(strPicFile, InStrRev(strPicFile, ".") + 1)


и т.д.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790769
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005Ничего не поняля тебе написал аналог твоей функции GetExt . В твоей оригинальной функции используется цикл с перебором всей строки, я же тебе написал как без циклов и перебора с использованием 2 функций работы со строками. Аналогично можно выделить имя файла.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790770
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
Код: vbnet
1.
2.
Set rs = Me.RecordsetClone 'Для дальнейшей работы нужен набор записей
    rs.Bookmark = Me.Bookmark 'Встаём на текущую запись формы

Зачем ты так делаешь? Почему не используешь просто набор данных формы - Me.Recordset ?
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790800
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Я не умею программировать, я просто собираю куски кодов с разных баз и подгоняю под свои нужды, по этому как было стырено, так и стало воткнуто
!
Подскажите как сделать проще я вставлю в базу.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39790808
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005я просто собираю куски кодов с разных баз и подгоняю под свои нуждыну с этого все начинали, за исключением получивших образование (у них все ж более академично).

Wawan2005Подскажите как сделать проще я вставлю в базу.Я уже сказал. И не один раз.
...
Рейтинг: 0 / 0
Ошибка если форме присвоено значение "Всплывающее окно"
    #39791150
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

А можно кодом, если не трудно?!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка если форме присвоено значение "Всплывающее окно"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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