กระทู้เก่าบอร์ด อ.Yeadram
1,520 2
URL.หัวข้อ /
URL
สอบถามเพิ่มเติมเกี่ยวกับการนำภาพขึ้นฟอร์มครับ
Private Sub Form_Current()
ShowPic
End Sub
___________________________________________________
Private Sub ShowPic()
If Me.tbPic1<> "" Then
Me.ImgPic1.Picture = CurrentProject.Path & "\Picture\" & Me.tbPic1
Me.ImgPic2.Picture = CurrentProject.Path & "\picture\" & Me.tbPic2
Else
Me.ImgPic1.Picture = ""
Me.ImgPic2.Picture = ""
End If
End Sub
ตอนนี้ผมใช้ Code นี้ตามที่ได้เอามาจากกระทู้เก่า แต่ติดตรงที่ว่า
1. เมื่อพิมพ์ชื่อไฟล์ภาพลงในฟิลด์ของตาราง tbPic1 และ tbPic2 เมื่ออันไหนอันนึงไม่มีภาพตามที่ได้พิมพ์ลงไปมันจะโชว์ debug ขึ้นมาครับ ถ้าจะทำให้เมือไม่มีชื่อไฟล์ตามที่ได้พิมพ์ลงไปจะไม่ให้มีอะไรเกิดขึ้นจะต้องแก้ไข Code ยังไงบ้างครับ
2. ถ้าหากไม่ได้พิมพ์ชื่อไฟล์รูปลงในตาราง tbPic1 ภาพที่อยู่ใน ImgPic2 จะไม่แสดงตามไปด้วย จะมีวิธีแก้ไขยังไงบ้างครับ
ShowPic
End Sub
___________________________________________________
Private Sub ShowPic()
If Me.tbPic1<> "" Then
Me.ImgPic1.Picture = CurrentProject.Path & "\Picture\" & Me.tbPic1
Me.ImgPic2.Picture = CurrentProject.Path & "\picture\" & Me.tbPic2
Else
Me.ImgPic1.Picture = ""
Me.ImgPic2.Picture = ""
End If
End Sub
ตอนนี้ผมใช้ Code นี้ตามที่ได้เอามาจากกระทู้เก่า แต่ติดตรงที่ว่า
1. เมื่อพิมพ์ชื่อไฟล์ภาพลงในฟิลด์ของตาราง tbPic1 และ tbPic2 เมื่ออันไหนอันนึงไม่มีภาพตามที่ได้พิมพ์ลงไปมันจะโชว์ debug ขึ้นมาครับ ถ้าจะทำให้เมือไม่มีชื่อไฟล์ตามที่ได้พิมพ์ลงไปจะไม่ให้มีอะไรเกิดขึ้นจะต้องแก้ไข Code ยังไงบ้างครับ
2. ถ้าหากไม่ได้พิมพ์ชื่อไฟล์รูปลงในตาราง tbPic1 ภาพที่อยู่ใน ImgPic2 จะไม่แสดงตามไปด้วย จะมีวิธีแก้ไขยังไงบ้างครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05239
ทำได้แล้วครับ
ขอบคุณอ.yeadram มากเลยครับ
ขอบคุณอ.yeadram มากเลยครับ
Time: 0.3383s
หาดูดีหรือยัง ผมก็ไม่ไหวจะหาให้แล้วล่ะ เอาอย่างนี้
ลองคิดตามโจทก์ของคุณทีละขั้น แล้วไล่เขียนเอาทีละขั้น
ในแต่ละภาพหรือแต่ละคอนโทรล
เช็คดูว่าในฟิลดืมีข้อความหรือไม่ ....
ถ้ามีให้เช็คต่ออีกว่า ข้อความที่มีอยู่นั้นมันเป็นพาธที่ถูกต้องหรือไม่ (คือมีไฟล์อยู่จริงหรือไม่
ถ้ามีค่อยนำภาพมาแสดง
ทั้งสองเงื่อนไขที่ทำการเช็คนั้น ถ้าเงื่อนไขใดเป็น เท็จให้ยกเลิกการทำงานทันที
แค่นี้เองครับ ก็ทำการเขียนโค้ดลงไปตามแนวคิดได้เลย
Private Sub ShowPic()
If Me.tbPic1<> "" then
if dir(CurrentProject.Path & "\Picture\" & Me.tbPic1) <> "" then
Me.ImgPic1.Picture = CurrentProject.Path & "\Picture\" & Me.tbPic1
else
Me.ImgPic1.Picture =""
end if
else
Me.ImgPic1.Picture =""
end if
If Me.tbPic2<> "" then
if dir(CurrentProject.Path & "\Picture\" & Me.tbPic2) <> "" then
Me.ImgPic2.Picture = CurrentProject.Path & "\Picture\" & Me.tbPic2
else
Me.ImgPic2.Picture =""
end if
else
Me.ImgPic2.Picture =""
end if
End Sub
คุณมี 2 รูปคุณก็ต้องเช็คสองครั้ง มี 3 รูปก็ต้องเช็ค 3 รอบ
หรือพอคุณเข้าใจแนวทางมัน ก็อาจจะหาวิธีรวบโค้ดให้สั้น ลงกว่าเดิม หรือใช้วิธีวนลูปไปเลยก็ได้ กรณีมีคอนโทรลหลายตัว เช่น
Private Sub ShowPic()
for i = 1 to 2
Me("ImgPic" & i).Picture = ""
If Me("tbPic" & i)<> "" and dir(CurrentProject.Path & "\Picture\" & Me("tbPic" & i)) <> "" Then _
Me("ImgPic" & i).Picture = CurrentProject.Path & "\Picture\" & Me("tbPic" & i)
next
End Sub