กระทู้เก่าบอร์ด อ.Yeadram
3,969 11
URL.หัวข้อ /
URL
Code โชว์รูปสมาชิก
Dim filepath, picdir As String
Dim found As Boolean
Dim iid As Long
ChDir "D:\"
ChDir "D:\picX"
picdir = "D:\picX\"
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
found = False
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = False
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = True
End If
End If
ก๊อปโค๊ตมาแล้วใช้งานได้ดีครับ ติดตรงที่ พอเรียกสมาชิกคนที่ไม่มีเลข 13 หลัก
มันจะโชว์รูปคนก่อนหน้านี้ครับ เราจะกำหนดให้ เมื่อคนที่ไม่มีเลข 13 หลัก
ให้ไม่โชว์รูป จะไปแทรกตรงไหนครับ
Dim found As Boolean
Dim iid As Long
ChDir "D:\"
ChDir "D:\picX"
picdir = "D:\picX\"
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
found = False
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = False
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = True
End If
End If
ก๊อปโค๊ตมาแล้วใช้งานได้ดีครับ ติดตรงที่ พอเรียกสมาชิกคนที่ไม่มีเลข 13 หลัก
มันจะโชว์รูปคนก่อนหน้านี้ครับ เราจะกำหนดให้ เมื่อคนที่ไม่มีเลข 13 หลัก
ให้ไม่โชว์รูป จะไปแทรกตรงไหนครับ
11 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R11027
อาจารย์ครับ จากโค็ต ผมทำ Me.L_NoPic ไว้ครับสำหรับคนที่ไม่มีรูป เมื่อคนที่ไม่มีรูปมันจะโชว์ Me.L_NoPic
แต่ปัญหามันเกิดจาก คนไม่มีเลข 13 หลักครับ พอเลือกคนไม่มีเลข 13 หลัก มันจะโชว์รูปคนสุดท้ายที่มันโชว์อยู่
จากโค็ตบันทัดแรกครับ If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
จะเห็นว่ามีอ้าง เลข 13 หลักที่ไม่มีอยู่ด้วย แต่ผมไม่เข้าใจว่าจะประยุกต์ มันยังงัยครับ
ให้เมื่อไม่มีเลข 13 หลัก ให้โชว์ Me.L_NoPic ด้วย
รบกวนอาจารย์ด้วยครับ
แต่ปัญหามันเกิดจาก คนไม่มีเลข 13 หลักครับ พอเลือกคนไม่มีเลข 13 หลัก มันจะโชว์รูปคนสุดท้ายที่มันโชว์อยู่
จากโค็ตบันทัดแรกครับ If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
จะเห็นว่ามีอ้าง เลข 13 หลักที่ไม่มีอยู่ด้วย แต่ผมไม่เข้าใจว่าจะประยุกต์ มันยังงัยครับ
ให้เมื่อไม่มีเลข 13 หลัก ให้โชว์ Me.L_NoPic ด้วย
รบกวนอาจารย์ด้วยครับ
3 @R11029
ไม่มีเลข 13 หลัก = Me.id_Card เป็น null ใช่หรือเปล่าครับ
ถ้าใช่
จาก
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
เปลี่ยนเป็น
found = False
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = False
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = True
End If
ถ้าใช่
จาก
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
เปลี่ยนเป็น
found = False
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = False
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = True
End If
4 @R11030
แก้ (R11029)
ไม่ต้องสนใจประโยค "จาก ... " นะครับ ลืมลบ
ไม่ต้องสนใจประโยค "จาก ... " นะครับ ลืมลบ
5 @R11032
มีรูป กับ ไม่มีเลข และ มีเลขกับไม่มีรูป
ถ้ามีเลขแล้วไม่มีรูป ก็ทำแบบ อาจารย์สันติสุขบอก ข้อ 1 หรือข้อ 2 (ทำเป็นภาพเล็กๆแค่เป็น จุดก็พอ)
แต่ถ้า มี รูปแล้วไม่มีเลข จะโชว์รูปหลังสุดที่แสดง
ผมทำแบบนี้ครับ ใช้ Eeeor Handle เข้ามาช่วยครับ
และฝัง Procedure ไว้ที่ Private Sub Form_Current() ทดลองดูนะครับ
----------------------------------------------------------------------------------
Private Sub Form_Current()
On Error GoTo fCurr:
Dim filepath, picdir As String
Dim found As Boolean
Dim iid As Long
ChDir "D:\"
ChDir "D:\picX"
picdir = "D:\picX\"
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
found = False
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = False
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = True
End If
End If
Exit Sub
fCurr:
Select Case Err
Case 2220 'ไม่พบไฟล์รูปภาพ
MsgBox "...ยังไม่มีภายถ่ายเก็บไว้ในฐานข้อมูล...", vbDefaultButton1, "Introduction"
DoCmd.Hourglass False
Exit Sub
Case 76 'ไม่พบ Drive หรือ Directory ที่ระบุ ( Path not Found) ปัญหาน่าจะอยู่ตรงนี้ครับ ไม่มีเลข ID ก็จะหา Path ไม่เจอ...
ChDir "D:\picX"
MkDir "picX" 'สร้างโฟลเดอร์ภายใต้ D:
Resume Next 'ทำคำสั่งที่ถัดจากที่ Error ก่อนหน้านี้
Case 2114 'หากเป็นภาพที่ถ่ายด้วยกล้องดิจิตอล (Digital Camera) รูปจะใหญ่เกินไปจนไม่สามารถเปิดได้แม้จะเป็น Jpg Format ก็ตาม..)
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
MsgBox Err & "2114" & "...รูปมืดตึดตื๋อ ดูไมรู้เรื่อง ", vbCritical, "Error"
MsgBox "ภาพบางภาพอาจจะใหญ่เกินไปโปรแกรมไม่สามารถเปิดได้...", vbCritical, "´ดูภาพไม่ได้"
Case Else
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
End Select
End Sub
ถ้ามีเลขแล้วไม่มีรูป ก็ทำแบบ อาจารย์สันติสุขบอก ข้อ 1 หรือข้อ 2 (ทำเป็นภาพเล็กๆแค่เป็น จุดก็พอ)
แต่ถ้า มี รูปแล้วไม่มีเลข จะโชว์รูปหลังสุดที่แสดง
ผมทำแบบนี้ครับ ใช้ Eeeor Handle เข้ามาช่วยครับ
และฝัง Procedure ไว้ที่ Private Sub Form_Current() ทดลองดูนะครับ
----------------------------------------------------------------------------------
Private Sub Form_Current()
On Error GoTo fCurr:
Dim filepath, picdir As String
Dim found As Boolean
Dim iid As Long
ChDir "D:\"
ChDir "D:\picX"
picdir = "D:\picX\"
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
found = False
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = False
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = True
End If
End If
Exit Sub
fCurr:
Select Case Err
Case 2220 'ไม่พบไฟล์รูปภาพ
MsgBox "...ยังไม่มีภายถ่ายเก็บไว้ในฐานข้อมูล...", vbDefaultButton1, "Introduction"
DoCmd.Hourglass False
Exit Sub
Case 76 'ไม่พบ Drive หรือ Directory ที่ระบุ ( Path not Found) ปัญหาน่าจะอยู่ตรงนี้ครับ ไม่มีเลข ID ก็จะหา Path ไม่เจอ...
ChDir "D:\picX"
MkDir "picX" 'สร้างโฟลเดอร์ภายใต้ D:
Resume Next 'ทำคำสั่งที่ถัดจากที่ Error ก่อนหน้านี้
Case 2114 'หากเป็นภาพที่ถ่ายด้วยกล้องดิจิตอล (Digital Camera) รูปจะใหญ่เกินไปจนไม่สามารถเปิดได้แม้จะเป็น Jpg Format ก็ตาม..)
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
MsgBox Err & "2114" & "...รูปมืดตึดตื๋อ ดูไมรู้เรื่อง ", vbCritical, "Error"
MsgBox "ภาพบางภาพอาจจะใหญ่เกินไปโปรแกรมไม่สามารถเปิดได้...", vbCritical, "´ดูภาพไม่ได้"
Case Else
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
End Select
End Sub
6 @R11033
คุณ PichaiTC ครับ มันโชว์เป็นช่องว่างครับ ชนิดข้อมูลเป็น Text ครับ
คุณ แหลมทอง ครับ โค๊ตเต็มผมก็เป็นแบบคุณเลยครับ น่าจะก๊อปจากแหล่งเดียวกัน
เพราะฉนั้นมันเลยใช้ไม่ไดครับ ขอบคุณมากครับ
คุณ แหลมทอง ครับ โค๊ตเต็มผมก็เป็นแบบคุณเลยครับ น่าจะก๊อปจากแหล่งเดียวกัน
เพราะฉนั้นมันเลยใช้ไม่ไดครับ ขอบคุณมากครับ
7 @R11109
Private Sub Form_Current()
On Error GoTo fCurr:
Dim filepath, picdir As String
Dim found As Boolean
Dim iid As Long
ChDir "D:\"
ChDir "D:\picX"
picdir = "D:\picX\"
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
found = False
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = True
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = False
End If
End If
Exit Sub
fCurr:
Select Case Err
Case 2220 'ไม่พบไฟล์รูปภาพ
MsgBox "...ยังไม่มีภายถ่ายเก็บไว้ในฐานข้อมูล...", vbDefaultButton1, "Introduction"
DoCmd.Hourglass False
Exit Sub
Case 76 'ไม่พบ Drive หรือ Directory ที่ระบุ ( Path not Found) ปัญหาน่าจะอยู่ตรงนี้ครับ ไม่มีเลข ID ก็จะหา Path ไม่เจอ...
ChDir "D:\picX"
MkDir "picX" 'สร้างโฟลเดอร์ภายใต้ D:\
Resume Next 'ทำคำสั่งที่ถัดจากที่ Error ก่อนหน้านี้
Case 2114 'หากเป็นภาพที่ถ่ายด้วยกล้องดิจิตอล (Digital Camera) รูปจะใหญ่เกินไปจนไม่สามารถเปิดได้แม้จะเป็น Jpg Format ก็ตาม..)
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
MsgBox Err & "2114" & "...รูปมืดตึดตื๋อ ดูไมรู้เรื่อง ", vbCritical, "Error"
MsgBox "ภาพบางภาพอาจจะใหญ่เกินไปโปรแกรมไม่สามารถเปิดได้...", vbCritical, "´ดูภาพไม่ได้"
Case Else
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
End Select
End Sub TrueFalse
On Error GoTo fCurr:
Dim filepath, picdir As String
Dim found As Boolean
Dim iid As Long
ChDir "D:\"
ChDir "D:\picX"
picdir = "D:\picX\"
If (IsNull(Me.id_Card) Or Me.id_Card = 0) = False Then
found = False
filepath = picdir & Me![id_Card]
If dir(filepath & ".jpg") <> "" Then
filepath = filepath & ".jpg"
found = True
End If
If found Then
Me.Image1.Picture = filepath
Me.L_NoPic.Visible = True
Else
Me.Image1.Picture = "
Me.L_NoPic.Visible = False
End If
End If
Exit Sub
fCurr:
Select Case Err
Case 2220 'ไม่พบไฟล์รูปภาพ
MsgBox "...ยังไม่มีภายถ่ายเก็บไว้ในฐานข้อมูล...", vbDefaultButton1, "Introduction"
DoCmd.Hourglass False
Exit Sub
Case 76 'ไม่พบ Drive หรือ Directory ที่ระบุ ( Path not Found) ปัญหาน่าจะอยู่ตรงนี้ครับ ไม่มีเลข ID ก็จะหา Path ไม่เจอ...
ChDir "D:\picX"
MkDir "picX" 'สร้างโฟลเดอร์ภายใต้ D:\
Resume Next 'ทำคำสั่งที่ถัดจากที่ Error ก่อนหน้านี้
Case 2114 'หากเป็นภาพที่ถ่ายด้วยกล้องดิจิตอล (Digital Camera) รูปจะใหญ่เกินไปจนไม่สามารถเปิดได้แม้จะเป็น Jpg Format ก็ตาม..)
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
MsgBox Err & "2114" & "...รูปมืดตึดตื๋อ ดูไมรู้เรื่อง ", vbCritical, "Error"
MsgBox "ภาพบางภาพอาจจะใหญ่เกินไปโปรแกรมไม่สามารถเปิดได้...", vbCritical, "´ดูภาพไม่ได้"
Case Else
MsgBox Err & ":" & Err.Description, vbCritical, "Error"
End Select
End Sub TrueFalse
8 @R11112
(R11033)
"มันโชว์เป็นช่องว่างครับ ชนิดข้อมูลเป็น Text ครับ"
ตอบมาแบบนี้ไปต่อไม่ถูกเลยครับ
"มัน" คืออะไรครับ
Me.Image1 หรือ Me.L_NoPic ?
"มันโชว์เป็นช่องว่างครับ ชนิดข้อมูลเป็น Text ครับ"
ตอบมาแบบนี้ไปต่อไม่ถูกเลยครับ
"มัน" คืออะไรครับ
Me.Image1 หรือ Me.L_NoPic ?
9 @R11117
ขอโทษครับคุณPichaiTC
จาก (R11029) "ไม่มีเลข 13 หลัก = Me.id_Card เป็น null ใช่หรือเปล่าครับ "
ผมเลยตอบว่า "มันโชว์เป็นช่องว่างครับ ชนิดข้อมูลเป็น Text ครับ "
คือในตารางก็เป็นช่องว่าง พอมาแสดงใน Textbox มันก็เป็นช่องว่างด้วยครับ
คุณ Teerapat ครับ มันคืออะไรครับ
จาก (R11029) "ไม่มีเลข 13 หลัก = Me.id_Card เป็น null ใช่หรือเปล่าครับ "
ผมเลยตอบว่า "มันโชว์เป็นช่องว่างครับ ชนิดข้อมูลเป็น Text ครับ "
คือในตารางก็เป็นช่องว่าง พอมาแสดงใน Textbox มันก็เป็นช่องว่างด้วยครับ
คุณ Teerapat ครับ มันคืออะไรครับ
10 @R11118
อีกครั้งครับ......แลกเปลียนกันนะครับ ถูกมั่ง ผิดมั่งหวังว่าคงไม่ว่ากัน...เรียนรู้กันไป....ผิดเป็นครูครับ...ลอง Copy ไปวางเลยครับ Action on Current หรือไม่ก็ ลองใช้ ตรงนี้ครับที่น่้าสนใจ.... If ((IsNull(id_Card) Or id_Card = "")) Then
------------------------------------------------------
Private Sub Form_Current()
On Error GoTo Err_C
Dim filepath As String
Dim NamePic As String
filepath = "D:\picX"
NamePic = filepath & "\" & [id_Card] & ".jpg"
If ((IsNull(id_Card) Or id_Card = "")) Then
Me.L_NoPic.Visible = True
Me.Image1.Picture = ""
Else
Me.L_NoPic.Visible = False
Me.Image1.Picture = NamePic
End If
Exit_C:
Exit Sub
Err_C:
Me.Image1.Picture = ""
Me.L_NoPic.Visible = True
Resume Exit_C
End Sub
----------------------------------
------------------------------------------------------
Private Sub Form_Current()
On Error GoTo Err_C
Dim filepath As String
Dim NamePic As String
filepath = "D:\picX"
NamePic = filepath & "\" & [id_Card] & ".jpg"
If ((IsNull(id_Card) Or id_Card = "")) Then
Me.L_NoPic.Visible = True
Me.Image1.Picture = ""
Else
Me.L_NoPic.Visible = False
Me.Image1.Picture = NamePic
End If
Exit_C:
Exit Sub
Err_C:
Me.Image1.Picture = ""
Me.L_NoPic.Visible = True
Resume Exit_C
End Sub
----------------------------------
11 @R11210
คุณแหลมทองครับ ผมลองเอาโค็ตใหม่ไปลอง ผลก็เหมือยเดิมครับ
พอดีผมไปหาสูตรที่อาจารย์ Yeadram เคยทำให้ไปแปลงนิดหน่อยมันใช้ได้ครับ
เอามาโพสมันโพสไม่ได้เลยไม่ได้โพสไว้ ลองหลายครั้งเลยเงียบไป
พอดีผมไปหาสูตรที่อาจารย์ Yeadram เคยทำให้ไปแปลงนิดหน่อยมันใช้ได้ครับ
เอามาโพสมันโพสไม่ได้เลยไม่ได้โพสไว้ ลองหลายครั้งเลยเงียบไป
Time: 0.3627s
1. กำหนด .Visible property ของ Image1 ให้เป็น False
2. สร้างภาพ .jpg ขึ้นมา ให้เป็นสีขาวทั้งหมด หรือจะสีอะไร หรือจะมีข้อความอะไรที่บอกว่า ไม่มีรูปภาพ ก็ได้ เราก็แสดงภาพนี้ในกรณีที่ไม่มีไฟล์รูปภาพแทน