powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужна помощь в коде
25 сообщений из 30, страница 1 из 2
Нужна помощь в коде
    #39788487
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в отдельной базе всё работает как по маслу, только внесу к себе начинает ругаться на
Код: sql
1.
 Dim rs As Recordset


Код: sql
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.
Option Compare Database
Option Explicit

Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As Recordset
    'Зададим параметры и вызовем диалог открытия файла
    strFilter = ahtAddFilterItem(strFilter, "Картинки GIF и JPEG", "*.GIF; *.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 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" & Me!PictureType 'Получаем координаты временного файла
    Call WriteBLOB(rs, "Picture", strPicFile) 'Пишем картинку из поля Picture во временный файл
    Me.imgPicture.Picture = strPicFile 'Выводим картинку из этого временного файла в форму
  End If
End Sub


Весь код прилагается
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788491
NBjHCBrc6KlSObm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tools - References
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788492
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005только внесу к себе начинает ругаться на
Код: sql
1.
 Dim rs As Recordset

DAO подключи и перепиши на
Код: sql
1.
 Dim rs As DAO.Recordset
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788510
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

не помогло

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As DAO.Recordset
    'Çàäàäèì ïàðàìåòðû è âûçîâåì äèàëîã îòêðûòèÿ ôàéëà
    strFilter = ahtAddFilterItem(strFilter, "Êàðòèíêè GIF è JPEG", "*.GIF; *.JPG")
    strPicFile = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788512
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wawan2005,

не помогло
Код: sql
1.
2.
3.
4.
5.
6.
7.
Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As DAO.Recordset
    'Зададим параметры и вызовем диалог открытия файла
    strFilter = ahtAddFilterItem(strFilter, "Картинки GIF и JPEG", "*.GIF; *.JPG")
    strPicFile = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788515
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А референсную библиотеку подключить не забыл? и какую именно подключил - фамилию назови.
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788527
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005,
авторCall ReadBLOB(strPicFile, rs, "Picture") 'Пишем картинку из файла в поле Picture
Call WriteBLOB(rs, "Picture", GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile))

а где эти модули прописаны
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788528
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005,

и эти
Код: vbnet
1.
2.
3.
Me.txtPictureType = GetExt(strPicFile) 'Расширение файла картинки запомним в поле PictureType
'''''
    Me.imgPicture.Picture = GetPath(CurrentDb.Name) & "temp" & GetExt(strPicFile)
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788529
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте вместо
Set rs = Me.RecordsetClone
напишите
Set rs = Me.Recordset
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788678
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

в модулях
1-
Код: sql
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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
Option Explicit
Public Declare Function GetTempPath Lib "KERNEL32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Public Declare Function GetTempFileName Lib "KERNEL32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Const BlockSize = 32768
      Function ReadBLOB(Source As String, T As Recordset, sField As String)
          Dim NumBlocks As Integer, SourceFile As Integer, i As Integer
          Dim FileLength As Long, LeftOver As Long
          Dim lngMeter As Long
          Dim FileData As String
          Dim byteData() As Byte
          Dim RetVal As Variant
          On Error GoTo Err_ReadBLOB
          SourceFile = FreeFile
          Open Source For Binary Access Read As SourceFile
          FileLength = LOF(SourceFile)
          If FileLength = 0 Then
              ReadBLOB = 0
              Exit Function
          End If
          NumBlocks = FileLength \ BlockSize
          LeftOver = FileLength Mod BlockSize
          lngMeter = FileLength \ 1000
          RetVal = SysCmd(acSysCmdInitMeter, "Reading BLOB", lngMeter)
          If LeftOver > 0 Then
            ReDim byteData(0 To LeftOver - 1)
            Get SourceFile, , byteData
            T(sField).AppendChunk (byteData)
          End If
          lngMeter = LeftOver \ 1000
          RetVal = SysCmd(acSysCmdUpdateMeter, lngMeter)
          ReDim byteData(0 To BlockSize - 1)
          For i = 1 To NumBlocks
              Get SourceFile, , byteData
              T(sField).AppendChunk (byteData)
              lngMeter = BlockSize * i \ 1000
              RetVal = SysCmd(acSysCmdUpdateMeter, lngMeter)
          Next i
          RetVal = SysCmd(acSysCmdRemoveMeter)
          Close SourceFile
          ReadBLOB = FileLength
          Exit Function
Err_ReadBLOB:
          ReadBLOB = -Err
          Exit Function
      End Function
      Function WriteBLOB(T As Recordset, sField As String, Destination As String)
          Dim NumBlocks As Integer, DestFile As Integer, i As Integer
          Dim FileLength As Long, LeftOver As Long
          Dim lngMeter As Long
          Dim byteData() As Byte
          Dim RetVal As Variant
          On Error GoTo Err_WriteBLOB
          FileLength = T(sField).FieldSize()
          If FileLength = 0 Then
              WriteBLOB = 0
              Exit Function
          End If
          NumBlocks = FileLength \ BlockSize
          LeftOver = FileLength Mod BlockSize
          DestFile = FreeFile
          Open Destination For Output As DestFile
          Close DestFile
          Open Destination For Binary As DestFile
          lngMeter = FileLength \ 1000
          RetVal = SysCmd(acSysCmdInitMeter, "Writing BLOB", lngMeter)
          If LeftOver > 0 Then
            byteData() = T(sField).GetChunk(0, LeftOver)
            Put DestFile, , byteData
          End If
          lngMeter = LeftOver \ 1000
          RetVal = SysCmd(acSysCmdUpdateMeter, lngMeter)
          For i = 1 To NumBlocks
              byteData() = T(sField).GetChunk((i - 1) * BlockSize _
                 + LeftOver, BlockSize)
              Put DestFile, , byteData
              lngMeter = (i * BlockSize + LeftOver) \ 1000
              RetVal = SysCmd(acSysCmdUpdateMeter, lngMeter)
          Next i
          RetVal = SysCmd(acSysCmdRemoveMeter)
          Close DestFile
          WriteBLOB = FileLength
          Exit Function
Err_WriteBLOB:
          WriteBLOB = -Err
          Exit Function
      End Function


2-
Код: sql
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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
Option Compare Database
Option Explicit
Type tagOPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    strFilter As String
    strCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    strFile As String
    nMaxFile As Long
    strFileTitle As String
    nMaxFileTitle As Long
    strInitialDir As String
    strTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    strDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
Declare Function aht_apiGetOpenFileName Lib "comdlg32.dll" _
    Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare Function aht_apiGetSaveFileName Lib "comdlg32.dll" _
    Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
Global Const ahtOFN_READONLY = &H1
Global Const ahtOFN_OVERWRITEPROMPT = &H2
Global Const ahtOFN_HIDEREADONLY = &H4
Global Const ahtOFN_NOCHANGEDIR = &H8
Global Const ahtOFN_SHOWHELP = &H10
Global Const ahtOFN_NOVALIDATE = &H100
Global Const ahtOFN_ALLOWMULTISELECT = &H200
Global Const ahtOFN_EXTENSIONDIFFERENT = &H400
Global Const ahtOFN_PATHMUSTEXIST = &H800
Global Const ahtOFN_FILEMUSTEXIST = &H1000
Global Const ahtOFN_CREATEPROMPT = &H2000
Global Const ahtOFN_SHAREAWARE = &H4000
Global Const ahtOFN_NOREADONLYRETURN = &H8000
Global Const ahtOFN_NOTESTFILECREATE = &H10000
Global Const ahtOFN_NONETWORKBUTTON = &H20000
Global Const ahtOFN_NOLONGNAMES = &H40000
Global Const ahtOFN_EXPLORER = &H80000
Global Const ahtOFN_NODEREFERENCELINKS = &H100000
Global Const ahtOFN_LONGNAMES = &H200000
Function TestIt()
    Dim strFilter As String
    Dim lngFlags As Long
    strFilter = ahtAddFilterItem(strFilter, "Access Files (*.mda, *.mdb)", _
                    "*.MDA;*.MDB")
    strFilter = ahtAddFilterItem(strFilter, "dBASE Files (*.dbf)", "*.DBF")
    strFilter = ahtAddFilterItem(strFilter, "Text Files (*.txt)", "*.TXT")
    strFilter = ahtAddFilterItem(strFilter, "All Files (*.*)", "*.*")
    MsgBox "You selected: " & ahtCommonFileOpenSave(InitialDir:="C:\", _
        Filter:=strFilter, FilterIndex:=3, flags:=lngFlags, _
        DialogTitle:="Hello! Open Me!")
    Debug.Print Hex(lngFlags)
End Function
Function GetOpenFile(Optional varDirectory As Variant, _
    Optional varTitleForDialog As Variant) As Variant
Dim strFilter As String
Dim lngFlags As Long
Dim varFileName As Variant
    lngFlags = ahtOFN_FILEMUSTEXIST Or _
                ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIR
    If IsMissing(varDirectory) Then
        varDirectory = ""
    End If
    If IsMissing(varTitleForDialog) Then
        varTitleForDialog = ""
    End If
    strFilter = ahtAddFilterItem(strFilter, _
                "Access (*.mdb)", "*.MDB;*.MDA")
    varFileName = ahtCommonFileOpenSave( _
                    OpenFile:=True, _
                    InitialDir:=varDirectory, _
                    Filter:=strFilter, _
                    flags:=lngFlags, _
                    DialogTitle:=varTitleForDialog)
    If Not IsNull(varFileName) Then
        varFileName = TrimNull(varFileName)
    End If
    GetOpenFile = varFileName
End Function
Function ahtCommonFileOpenSave( _
            Optional ByRef flags As Variant, _
            Optional ByVal InitialDir As Variant, _
            Optional ByVal Filter As Variant, _
            Optional ByVal FilterIndex As Variant, _
            Optional ByVal DefaultExt As Variant, _
            Optional ByVal FileName As Variant, _
            Optional ByVal DialogTitle As Variant, _
            Optional ByVal hWnd As Variant, _
            Optional ByVal OpenFile As Variant) As Variant
Dim OFN As tagOPENFILENAME
Dim strFileName As String
Dim strFileTitle As String
Dim fResult As Boolean
    If IsMissing(InitialDir) Then InitialDir = CurDir
    If IsMissing(Filter) Then Filter = ""
    If IsMissing(FilterIndex) Then FilterIndex = 1
    If IsMissing(flags) Then flags = 0&
    If IsMissing(DefaultExt) Then DefaultExt = ""
    If IsMissing(FileName) Then FileName = ""
    If IsMissing(DialogTitle) Then DialogTitle = ""
    If IsMissing(hWnd) Then hWnd = Application.hWndAccessApp
    If IsMissing(OpenFile) Then OpenFile = True
    strFileName = Left(FileName & String(256, 0), 256)
    strFileTitle = String(256, 0)
    With OFN
        .lStructSize = Len(OFN)
        .hwndOwner = hWnd
        .strFilter = Filter
        .nFilterIndex = FilterIndex
        .strFile = strFileName
        .nMaxFile = Len(strFileName)
        .strFileTitle = strFileTitle
        .nMaxFileTitle = Len(strFileTitle)
        .strTitle = DialogTitle
        .flags = flags
        .strDefExt = DefaultExt
        .strInitialDir = InitialDir
        .hInstance = 0
        .strCustomFilter = ""
        .nMaxCustFilter = 0
        .lpfnHook = 0
        .strCustomFilter = String(255, 0)
        .nMaxCustFilter = 255
    End With
    If OpenFile Then
        fResult = aht_apiGetOpenFileName(OFN)
    Else
        fResult = aht_apiGetSaveFileName(OFN)
    End If
    If fResult Then
        If Not IsMissing(flags) Then flags = OFN.flags
        ahtCommonFileOpenSave = TrimNull(OFN.strFile)
    Else
        ahtCommonFileOpenSave = vbNullString
    End If
End Function
Function ahtAddFilterItem(strFilter As String, _
    strDescription As String, Optional varItem As Variant) As String
    If IsMissing(varItem) Then varItem = "*.*"
    ahtAddFilterItem = strFilter & _
                strDescription & vbNullChar & _
                varItem & vbNullChar
End Function
Private Function TrimNull(ByVal strItem As String) As String
Dim intPos As Integer
    intPos = InStr(strItem, vbNullChar)
    If intPos > 0 Then
        TrimNull = Left(strItem, intPos - 1)
    Else
        TrimNull = strItem
    End If
End Function

Sub test()
Dim strFilter As String
Dim strInputFileName As String

strFilter = ahtAddFilterItem(strFilter, "Excel Files (*.XLS)", "*.XLS")
strInputFileName = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
                DialogTitle:="Please select an input file...", _
                flags:=ahtOFN_HIDEREADONLY)
End Sub


3-
Код: sql
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.
Option Compare Database
Option Explicit

Public Function GetPath(FullPath As String) As String
  Dim lngCurrPos, lngLastPos As Long
  Do
    lngLastPos = lngCurrPos
    lngCurrPos = InStr(lngLastPos + 1, FullPath, "\")
  Loop Until lngCurrPos = 0
  If lngLastPos <> 0 Then GetPath = Left(FullPath, lngLastPos)
End Function

Public Function GetFile(FullPath As String) As String
  Dim lngCurrPos, lngLastPos As Long
  Do
    lngLastPos = lngCurrPos
    lngCurrPos = InStr(lngLastPos + 1, FullPath, "\")
  Loop Until lngCurrPos = 0
  If lngLastPos <> 0 Then GetFile = Right$(FullPath, Len(FullPath) - lngLastPos)
End Function

Public Function GetExt(FullPath As String) As String
  Dim lngCurrPos, lngLastPos As Long
  Do
    lngLastPos = lngCurrPos
    lngCurrPos = InStr(lngLastPos + 1, FullPath, ".")
  Loop Until lngCurrPos = 0
  If lngLastPos <> 0 Then GetExt = Right$(FullPath, Len(FullPath) - lngLastPos + 1)
End Function

...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788767
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

Если у Вас есть время, могу Вам прислать базу, для "посмотреть" -)
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788875
yoichi730
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если офис старше 2007, да и еще 64 битный, то скорее всего DAO там не пахнет... вот решение
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788882
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005ПЕНСИОНЕРКА,

Если у Вас есть время, могу Вам прислать базу, для "посмотреть" -)
могу и посмотреть
у меня а2010х32
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788893
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yoichi730если офис старше 2007, да и еще 64 битный, то скорее всего DAO там не пахнетА что в 64битном Access нет библиотеки "Microsoft Office 14.0 Access database engine Object Library"? (нет у меня такой битности Access'а). Вот сомневаюсь я сильно.
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788908
yoichi730
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Ну а вдруг) всякое бывает
Могу судить только по себе, буквально сегодня при попытке завести старый код Акцессушка начал ругаться на отсутствующую ссылку. Библиотека то есть в списке, вот только была на не под галочкой..
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788946
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yoichi730Ну а вдруг) всякое бываетВдруг бывает... DAO переехало в вышеуказанную библиотеку со всеми изменениями (DAO36 ACEDAO)
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39788953
yoichi730
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Я вас умоляю.. об одном и том же спорим.. Давайте по существу и пойдемте в "курилку" с этой темой..
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789229
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Оперативные карточки" это туда надо вставить форму из "pitures.* "
в оперативке я уже вставил модули и форму "pitures" вот эта форма-то и не работает-)
Заранее спасибо.
P.S.: причем "pitures.* " сама по себе работает, проблема только когда переношу к себе в базу-(

это сама база и исходник вставки.
https://cloud.mail.ru/public/KASe/yZvygbyz8
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789312
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005,

заменила 1 строку
Код: 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.
Private Sub btnLoad_Click()
Dim strPicFile As String
Dim strFilter As String
Dim rs As Recordset
    'Зададим параметры и вызовем диалог открытия файла
    strFilter = ahtAddFilterItem(strFilter, "Картинки GIF и JPEG", "*.GIF; *.JPG")
    strPicFile = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
                    DialogTitle:="Выберите картинку...", _
                    flags:=ahtOFN_HIDEREADONLY)
    If strPicFile = "" Then Exit Sub 'Если файл не выбран - выходим из процедуры
    Debug.Print 1, ID, Me.Name, Me.RecordSource
    Me.txtPictureType = GetExt(strPicFile) 'Расширение файла картинки запомним в поле PictureType
     Debug.Print 2, Me.ID, Me.Name, Me.RecordSource
     Debug.Print 3, Me.txtPictureType
'''заблокировала
''    DoCmd.RunCommand acCmdSaveRecord 'Сохраним запись, что важно, если она новая
'''вставила строку
    Me.Dirty = False
'''''''''''''''''''''''''''''''''''''''''''''
    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



и конечно явные замечания
--есть таблица пути полъезда , а в ней поле пути полъезда
--10 вкладок с сотней подстановок тоже не добавляют устойчивости базе
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789335
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

Большое спасибо, по поводу замечаний, поле переименую, но с вкладками вариантов нет, девчата уже привыкли к интерфейсу-)
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789337
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

Сейчас проверил, всё равно ругается при нажатии кнопки-(
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789417
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005ПЕНСИОНЕРКА,

Сейчас проверил, всё равно ругается при нажатии кнопки-(
у меня работает и главная форма и picture2

--
https://cloud.mail.ru/public/6QYa/VRoJ2kKck
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789421
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005девчата уже привыкли к интерфейсу
сочувствую им .....весьма....весьма

дополнительный вопрос
--какая у вас версия аксесс
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789427
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005в отдельной базе всё работает как по маслу, только внесу к себе начинает ругаться на
Код: sql
1.
 Dim rs As Recordset



кстати ее я обычно уточняю, как

Код: vbnet
1.
Dim rs As dao.Recordset
...
Рейтинг: 0 / 0
Нужна помощь в коде
    #39789482
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

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


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