กระทู้เก่าบอร์ด อ.Yeadram
1,631 2
URL.หัวข้อ /
URL
กดปุ่ทลบรูปภาพไม่ได้ค่ะ
ดิฉันลองใส่โค้ดเพิ่ทรูปแบบนี้อ่ะค่ะ แต่ทีนี้มานเกิด error ตรงปุ่ม remove รูปภาพอันที่ฉันทำไว้แล้วอ่ะค่ะ ซึ่งปกติเกิดใส่โค้ดเพิ่มรูปภาพมันไม่เป็นค่ะ ถ้ายังไงช่วยดูให้หน่อยนะค่ะ
มันขึ้น ว่า Run-time erroe '438' Object doesn't support this property or method
นี่คือตัวอย่างโค้ดค่ะ
Option Compare Database
Option Explicit
Private Sub cmdBrowse_Click()
Dim strPictFileName As String, strFileType As String, strFileTypeDesc As String
ChDir CurrentProject.Path & "\Picture\"
strFileType = "*.bmp;*.jpg;*.gif;*.tif"
strFileTypeDesc = "Pict Files (*.bmp,*.jpg,*.gif,*.tif)"
strPictFileName = GetOpenFile(strFileType, strFileTypeDesc)
If strPictFileName <> "NoFile" Then
strPictFileName = Replace(strPictFileName, CurrentProject.Path, "")
Me.txtPictureName.Value = strPictFileName
Me.ImageFrame.Picture = CurrentProject.Path & Me.txtPictureName.Value
End If
End Sub
Private Sub Form_Current()
If Me.txtPictureName <> "..\NoPicture.JPG" Then
Me.ImageFrame.Picture = CurrentProject.Path & Me.txtPictureName
Else
Me.ImageFrame.Picture = ""
End If
End Sub
Private Sub Form_Load()
If Me.txtPictureName <> "..\NoPicture.JPG" Then
Me.ImageFrame.Picture = CurrentProject.Path & Me.txtPictureName
Else
Me.ImageFrame.Picture = ""
End If
End Sub
Sub showErrorMessage()
If Not IsNull(Me!Picture) Then
errormsg.Visible = False
Else
errormsg.Visible = True
End If
End Sub
Private Sub Remove_Click()
Me![ImageFrame] = ""
hideImageFrame
errormsg.Visible = True
End Sub
Sub hideImageFrame()
Me![ImageFrame].Visible = True
End Sub
Sub showImageFrame()
Me![ImageFrame].Visible = False
End Sub
Private Sub Command14_Click()
On Error GoTo Err_Command14_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "forms"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command14_Click:
Exit Sub
Err_Command14_Click:
MsgBox Err.Description
Resume Exit_Command14_Click
End Sub
Private Sub Command17_Click()
On Error GoTo Err_Command17_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "QueryFind"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command17_Click:
Exit Sub
Err_Command17_Click:
MsgBox Err.Description
Resume Exit_Command17_Click
End Sub
Private Sub cmdExit_Click()
On Error GoTo Err_cmdExit_Click
DoCmd.Close
Exit_cmdExit_Click:
Exit Sub
Err_cmdExit_Click:
MsgBox Err.Description
Resume Exit_cmdExit_Click
End Sub
Private Sub Command20_Click()
On Error GoTo Err_Command20_Click
DoCmd.GoToRecord , , acNewRec
Exit_Command20_Click:
Exit Sub
Err_Command20_Click:
MsgBox Err.Description
Resume Exit_Command20_Click
End Sub
Private Sub Command21_Click()
On Error GoTo Err_Command21_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_Command21_Click:
Exit Sub
Err_Command21_Click:
MsgBox Err.Description
Resume Exit_Command21_Click
End Sub
Me![ImageFrame] = ""hideImageFrame
กรุณาช่วยดูด้วยนะค่ะ
ขอบคุณค่ะ
มันขึ้น ว่า Run-time erroe '438' Object doesn't support this property or method
นี่คือตัวอย่างโค้ดค่ะ
Option Compare Database
Option Explicit
Private Sub cmdBrowse_Click()
Dim strPictFileName As String, strFileType As String, strFileTypeDesc As String
ChDir CurrentProject.Path & "\Picture\"
strFileType = "*.bmp;*.jpg;*.gif;*.tif"
strFileTypeDesc = "Pict Files (*.bmp,*.jpg,*.gif,*.tif)"
strPictFileName = GetOpenFile(strFileType, strFileTypeDesc)
If strPictFileName <> "NoFile" Then
strPictFileName = Replace(strPictFileName, CurrentProject.Path, "")
Me.txtPictureName.Value = strPictFileName
Me.ImageFrame.Picture = CurrentProject.Path & Me.txtPictureName.Value
End If
End Sub
Private Sub Form_Current()
If Me.txtPictureName <> "..\NoPicture.JPG" Then
Me.ImageFrame.Picture = CurrentProject.Path & Me.txtPictureName
Else
Me.ImageFrame.Picture = ""
End If
End Sub
Private Sub Form_Load()
If Me.txtPictureName <> "..\NoPicture.JPG" Then
Me.ImageFrame.Picture = CurrentProject.Path & Me.txtPictureName
Else
Me.ImageFrame.Picture = ""
End If
End Sub
Sub showErrorMessage()
If Not IsNull(Me!Picture) Then
errormsg.Visible = False
Else
errormsg.Visible = True
End If
End Sub
Private Sub Remove_Click()
Me![ImageFrame] = ""
hideImageFrame
errormsg.Visible = True
End Sub
Sub hideImageFrame()
Me![ImageFrame].Visible = True
End Sub
Sub showImageFrame()
Me![ImageFrame].Visible = False
End Sub
Private Sub Command14_Click()
On Error GoTo Err_Command14_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "forms"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command14_Click:
Exit Sub
Err_Command14_Click:
MsgBox Err.Description
Resume Exit_Command14_Click
End Sub
Private Sub Command17_Click()
On Error GoTo Err_Command17_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "QueryFind"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command17_Click:
Exit Sub
Err_Command17_Click:
MsgBox Err.Description
Resume Exit_Command17_Click
End Sub
Private Sub cmdExit_Click()
On Error GoTo Err_cmdExit_Click
DoCmd.Close
Exit_cmdExit_Click:
Exit Sub
Err_cmdExit_Click:
MsgBox Err.Description
Resume Exit_cmdExit_Click
End Sub
Private Sub Command20_Click()
On Error GoTo Err_Command20_Click
DoCmd.GoToRecord , , acNewRec
Exit_Command20_Click:
Exit Sub
Err_Command20_Click:
MsgBox Err.Description
Resume Exit_Command20_Click
End Sub
Private Sub Command21_Click()
On Error GoTo Err_Command21_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_Command21_Click:
Exit Sub
Err_Command21_Click:
MsgBox Err.Description
Resume Exit_Command21_Click
End Sub
Me![ImageFrame] = ""hideImageFrame
กรุณาช่วยดูด้วยนะค่ะ
ขอบคุณค่ะ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02346
อืม
ขอบคุณค่ะ
แล้วจะลองแก้ดูก่อนนะค่ะ
^^
ขอบคุณค่ะ
แล้วจะลองแก้ดูก่อนนะค่ะ
^^
Time: 0.3099s
เวลาคุณใส่ข้อมูลให้มัน คุณเขียนว่า
Me.ImageFrame.Picture =
แต่เวลาคุณจะเอาข้อมูลออกจากมัน คุณเขียนว่า
Me![ImageFrame] =
( .Picture หายไปไหน )
[FONT]เพิ่มเติม ส่วนอื่นๆ ให้ครับ ไหนๆ ก็เห็นโค้ดแล้ว[/FONT]
- คำสั่งใน form_load กับ form_current ซ้ำซ้อนกันครับ ควรเอา form_load ออกดีกว่า หรือถ้ามันจำเป็นเราควรเขียนให้มันเรียกกันเอาเอง เช่น
sub Form_load()
call Form_current
end sub
- ในสอง Procedure ต่อไปนี้ สังเกตุเห็นว่า ชื่อที่ตั้งกับคำสั่งภายใน มันค่อนข้างจะไม่เป็นไปในทิศทางเดียวกันนะ หรือถ้าหากว่าเจตนาต้องการให้เป็นอย่างนั้นก็ต้องขออภัยใน ข้อสังเกตมั่วๆ ของผมล่ะ
Sub hideImageFrame()
Me![ImageFrame].Visible = True
End Sub
Sub showImageFrame()
Me![ImageFrame].Visible = False
End Sub