แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Niky@cm5

หน้า: [1]
1
ขอบพระคุณมากครับท่านอาจารย์ ที่ให้วิทยาทานครับจะนำความรู้ไปเกิดประโยชน์ต่อไปครับ :love:

2
ผมสอบถามผู้รู้ว่ากรณีการใช้ frontend โดยเชื่อม linking table มาทุกตารางที่เกี่ยวข้อง เวลาแก้ไขข้อมูลสามารถทำได้ในฟอร์มได้ทุกอย่างแต่ เมื่อทำจะทำการอัพเดทโดยการรันคิวรีอัพเดทหลายตารางพร้อมกันไม่สามารถทำได้ โปรแกรมจะฟ้องว่า การดำเนินการที่ไม่ถูกต้อง  ซึ่งกรณีดังกล่าวหากดำเนินการใน file back end ทำได้ทุกฟังก์ชั่น เมื่อแยก frontend ออกมาแล้วเชื่อม ทำไม่ได้ในรูปแบบที่กล่าว เพราะเหตุใดครับอยากถามมานานมากแล้ว เพราะไม่สามารถแก้ไข หรือเป็นเพราะ permission แต่สิทธิผมก็แก้ไขตารางได้ทุกอย่างนะครับ ยกเว้นแค่รันคิวรีอัพเดทแบบที่ผมบอกไม่สามารถทำได้เวลากดปุ่ม บันทึก ลืมบอก backend ผมเป็น access นะครับไม่ได้ใช้ sql แบบธรรมดาปกติ backend อยู่ drive z (แบ่งพาสที่ชั่นใหม่) ตัว frontend อยู่ หน้า desktop ส่วนในวงแลนผม map drive ไว้ที่ z เหมื่อนกันเผื่อให้  user ใช้ร่วมกัน ผมต้องเพิ่มอะไรไหมครับมันถึงจะได้ เบื้องต้นออกตัวไว้ก่อนนะครับผมไม่ได้เรียนมาด้านนี้เลยแต่อาศัยครูพักลักจำสามารถเขียนใช้ได้ในระดับหนึ่งครับ ต้องเพิ่มคำสั่งตรงไหนโปรดชี้แนะครับ
 
คำสั่ง vba command button ใช้ชุดนี้ครับ
Private Sub cmdsave_Click()
On Error GoTo Err_Command139_Click
If IsNull(Me!POSIT_DT) Then
   MsgBox "**** กรุณาบันทึกข้อมูลวันที่ ****"
   Exit Sub
End If
DoCmd.SetWarnings False
Dim db As Database, Td As Recordset
Dim ds As Recordset, ttran As Recordset
Set db = DBEngine.Workspaces(0).Databases(0)
Set ds = db.OpenRecordset("positid", DB_OPEN_TABLE)
Set Td = db.OpenRecordset("person", DB_OPEN_TABLE)
Set ttran = db.OpenRecordset("tranpolice", DB_OPEN_TABLE)
Td.Index = "Primarykey"
ds.Index = "Primarykey"
'Update person file
Td.Seek "=", mid
If Td.NoMatch Then
   MsgBox "ไม่มีข้อมูลรหัสตำแหน่ง " & mid_posit & " ในตาราง Person"
Else
Td.Edit
Td.Update

   Td.Edit
   Td("id_posit") = Null
   Td.Update
End If
Td.Close
'criterion = "id_posit = mid_posit"
ds.Seek "=", mid_posit
If ds.NoMatch Then
   MsgBox ("ไม่มีข้อมูลรหัสตำแหน่ง " & mid_posit & " ในตารางเลขตำแหน่ง")
Else
   ds.Edit
   ds("id") = 0
   ds.Update
End If
ds.Close
ttran.AddNew
ttran("id") = mid
ttran("id_posit") = mid_posit
ttran("trncode") = Me![trncode]
ttran("trndate") = Me![POSIT_DT]
ttran("destination") = Me![destination]
ttran("lastupdate") = Me![lastupdate]
ttran.Update
ttran.Close
Forms![POLICE]![search_text] = Null
Forms![POLICE]![MAIN_ID] = Null
Forms![POLICE]![by_code] = Null
Forms![POLICE]![by_name] = Null
Forms![POLICE]![by_name].RowSource = "SELECT DISTINCTROW Person.NAME, Positid.ID_POSIT, Person.ID FROM Positid LEFT JOIN Person ON Positid.ID_POSIT = Person.ID_POSIT ORDER BY Person.NAME;"
DoCmd.Close acForm, "out_Police"
Exit_Command139_Click:
    Exit Sub

Err_Command139_Click:
    MsgBox Err.Description
    Resume Exit_Command139_Click
   
End Sub

3
ได้แล้วเรียบร้อยครับตามวัตถุประสงค์ครับ ขอบคุณอาจารย์ ทุกท่านครับที่ให้วิทยาทาน

4
ืnikorn คนเดียวกับเจ้าของกระทู้นะครับ ผมลองเปิดดูแล้วไม่เหมือนกับตัวอย่างไฟล์ที่ท่าน อาจารย์ PNR ส่งให้ดูครับ แต่ก็มีเป็นอีก 1 ไอเดียขอบคุณครับ

5
เบื้องต้นผมลองทำตามคำแนะนำแล้วมันซ่อนไปเลยครับไม่เป็นเงาเหมือนของเขาครับ แต่ก็ขอขอบคุณสำหรับคำแนะนำครับ

6

  ผมติดปัญคือคนเก่าเขาเขียนโปรแกรม access 2003 ไว้และตอนนี้เริ่มจะมีปัญหา ผมจึงกำลังเขียนขึ้นใหม่แต่ติดปัญหาอยากทราบว่ากรณีผมอยากจะให้โปรแกรมเปิดเขามาครั้งแรก ยังไม่ให้ subforms ขึ้นมาทันที่จนกว่าผมจะไปคลิก combo ค้นหา คนเก่าโปรแกรมเวลาเปิดมายังจะเป็นเงาอย่างภาพครับ แต่ของผมเวลาเขียนแล้วมันขึ้นมาเลย แต่ข้อมูลยังใน subform ยังไม่มีนะครับ เมื่อผมไปคลิกค้นหาถึงจะมี แต่อย่างได้ตอนเปิดฟอร์มขึ้นมานั้นหละครับเขาทำกันยังไง


 โปรแกรมที่ผมทำขึ้นมันขึ้นมาทั้งบล๊อคเลยครับ มารอไว้ก่อนเลย

หน้า: [1]