สอบถามการเพิ่มรูป มากกว่า 1 ขึ้นไปครับในระเบียงเดียวกัน


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

27 ม.ค. 63 , 16:07:29
อ่าน 816 ครั้ง

nook

  • สมาชิกไท.Access
  • กระทู้: 2

    • ดูรายละเอียด

คือว่าอยากให้รูปที่แอดเข้าไปในระเบียงเดียวกัน สามารถเปิดได้ หลายรูปโดยเขียนโคตไว้แล้วพอคลิกที่ปุ่มจะขยายใหญ่ขึ้นมาแต่ ตอนนี้ได้แค่ 1 ระเบียงต่อ 1 รูปเองครับ ควรทำยังไงดี







โค๊ต
Option Compare Database
Public Function ifileDialog() As String
    Dim Flie As Object
    Set File = Application.FileDialog(3)
    With File
        .Title = "Select Picture"
        .Filters.Add "Images", "*.gif; *.jpg; *.bmp, *.png, *.tif", 1
        .Filters.Add "All Files", "*.*"
        .FilterIndex = 1
        .AllowMultiSelect = False
    End With
    If File.show Then
        ifileDialog = File.SelectedItems.Item(1)
    End If
End Function
Sub Add_Attachments(tName As String, fName As String, attName As String)
    Dim db As DAO.Database, rs As DAO.Recordset, rsChild As DAO.Recordset2, iPath As String
    iPath = ifileDialog
    If iPath & "" <> "" Then
        Set db = CurrentDb
        Set rs = db.OpenRecordset(tName)
        If Dir(iPath, vbNormal) <> "" Then
            rs.AddNew
            rs(fName) = Mid(iPath, InStrRev(iPath, "\") + 1)
            Set rsChild = rs.Fields(attName).Value
            rsChild.AddNew
            rsChild.Fields("FileData").LoadFromFile (iPath)
            rsChild.Update
            rs.Update
        End If
        Set rsChild = Nothing
        Set rs = Nothing
        db.Close
        Set db = Nothing
    End If
End Sub

Sub Export_Attachments(tName As String, attName As String, pName As String)
    Dim db As DAO.Database, rs As DAO.Recordset, rsChild As DAO.Recordset2, iPath As String
    iPath = CurrentProject.Path
    Set db = CurrentDb
    Set rs = db.OpenRecordset(tName, dbOpenDynaset)
    rs.FindFirst "[Name_Picture] = '" & pName & "'"
    Set rsChild = rs.Fields(attName).Value
    If Dir(iPath & "\" & rsChild.Fields("FileName"), vbNormal) = "" Then
        rsChild.Fields("FileData").SaveToFile iPath
    End If
    Set rsChild = Nothing
    Set rs = Nothing
    db.Close
    Set db = Nothing
End Sub
 

ที่ปุ่ม  add และ open

Private Sub cmdADD_Click()
Add_Attachments "tb_picture", "Name_picture", "Images"
Me.Requery
End Sub

Private Sub Command4_Click()
Export_Attachments "tb_picture", "Images", Me.txtName_Picture
Dim iPath As String
iPath = CurrentProject.Path & "\" & Me.txtName_Picture
DoCmd.OpenForm "Form2"
Forms!Form2.SetFocus
Forms!Form2.Image0.Picture = iPath

End Sub


ขอบคุณครับ
เครดิตโค๊ต Access-Creator

 

29 ม.ค. 63 , 09:53:55
ตอบกลับ #1

OddyWriter

เรื่องนี้อยู่ที่การออกแบบฐานข้อมูลครับ เท่าที่เข้าใจคือความสัมพันธ์ระหว่างข้อมูลกับรูปภาพจะเป็น 1:M ดังนั้นต้องแยกเป็น 2 ตาราง

1. ตารางข้อมูล มี ID เป็น Primary Key
2. ตารางรูปภาพ มี ID เป็น Foreign Key ที่สัมพันธ์กับตารางข้อมูล

จากนั้นนำตารางทั้ง 2 มาสร้างฟอร์มประเภท Main Form/Subform
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: Somkiat Tanthanawikrai


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5