แสดงกระทู้

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 - PNR

หน้า: 1 ... 19 20 21 [22] 23 24 25 ... 46
379
ต้องฟอแมทวันที่ให้ตรงกันกับ textbox ที่ใช้ในการค้นหาก่อนครับ

ที่คิวรี่ปรับฟอแมทเป็นแบบนี้ดูครับ
Dates: Format([TrainingEndDate],'dd/mm/yyyy')

และที่ โค้ดใส่แบบนี้
Set rsGroup = CurrentDb.OpenRecordset("SELECT * FROM QueryForReportCertification where Cstr([Dates])='" & CStr(Forms!frmSearchCertificate!txtApplyDate) & "'")

และแก้ฟิลล์ที่ตัวรายงาน ที่เป็นฟิลล์ TrainingEndDate เป็น Dates ทั้งหมด


ถ้าไม่ได้ คงต้องรีโมทไปตรวจสอบให้แล้วละครับ
เพราะต้องเช็คข้อมูลวันที่ที่แสดงใน access ว่าเป็นแบบไหนจะได้ปรับให้เหมือนกัน

380
น่าจะประมาณนี้ครับ

Private Sub CmbDeleteFromRejected_Click()
Dim sql As String
sql = "UPDATE Personal_Contacts SET Personal_Contacts.PC_EMAIL = Null WHERE (((Personal_Contacts.PC_EMAIL) In (select EMAIL from [Rejected_Emails])));"
DoCmd.SetWarnings False
DoCmd.RunSQL sql
DoCmd.SetWarnings True
End Sub

381
เป็นเพราะ Format วันที่ ไม่ตรงกันหรือเปล่าครับ
ขอดูฟอแมทวันที่จากฐาน SQL Server มาดูหน่อย
(ผมไม่ได้อยู่ตอบมาอีกทีวันจันทร์นะครับ ไปทริปตกปลาทะเล)

ลองรีเช็คเรืองฟอแมทวันที่ให้ตรงกันนะครับ
 

382
ผมมี 2 ตาราง
1. ตารางรายชื่อลูกค้าและ email
2. ตาราง email ที่ถูกตีกลับ
ผมอยากจะลบ email ของลูกค้าที่ตีกลับ ลบเฉพาะข้อมูล email ไม่ลบระเบียนครับ
ผมควรจะเขียนคิวรี่อย่างไรดีครับ
ขอบคุณครับ

คือถ้าเจอว่า ในตาราง email มีemailไหน ที่ถูกตีกลับมา ให้ลบ email ออกจาก ตารางรายชื่อลูกค้า ใช่ไหมครับ?

383
อ้างถึง
ลองทำในตัวอย่างแล้วใช้ได้ เดี๋ยวจะลองนำไปใช้กับงานจริงดูค่ะ

ขอชื่นชมนะครับ มีการสร้างไฟล์ตัวอย่าง และรูปอธิบายแบบนี้
จะทำให้ผู้ตอบเข้าใจขั้นตอนที่ต้องการและ แก้ไขให้ได้อย่างรวดเร็วครับ
เสียเวลาสร้างนิดหน่อย แต่แก้ไขได้ง่ายกว่าครับ
 :miao: :miao:

384
ลองดูนะครับ
คุณต้องไปสร้าง Floder ชื่อ upload ไว้ Drive C: ก่อนเน้อ
อัพเดทโค้ดให้ใหม่นะครับ ไม่ต้องสร้างTableเพิ่ม  และลบCriteria ใน Query ออกไปใช้การกำหนด Criteria ตอนเปิด Recordset แทน

โค้ด
โค๊ด: [Select]
Private Sub Command8_Click()
    Dim rsGroup As DAO.Recordset
    Dim EmployeeCode As String, myPath As String

  myPath = "C:\upload\"
 

  Set rsGroup = CurrentDb.OpenRecordset("SELECT * FROM QueryForReportCertification where Cstr([TrainingEndDate])='" & CStr(Forms!frmSearchCertificate!txtApplyDate) & "'")
 
  Do While Not rsGroup.EOF
  EmployeeCode = rsGroup!EmployeeCode
 
    DoCmd.OpenReport "ReportCertificationNew", acViewPreview, , "EmployeeCode='" & EmployeeCode & "'"
    DoCmd.OutputTo acOutputReport, "ReportCertificationNew", acFormatPDF, _
                            myPath & EmployeeCode & ".pdf", False
 
DoCmd.Close acReport, "ReportCertificationNew"

 rsGroup.MoveNext
 Loop

 rsGroup.Close
End Sub

385
ทำได้อยู่แล้วครับ
ในรถแต่ล่ะคัน  มี  TruckNo เอามาอ้างอิงได้เลยครับ


โดยต้องเพิ่ม วันที่ เลขกำกับ Work Order อะไรพวกนี้ครับ
ถ้าจะกำหนดให้เก็บข้อมูลใหม่ก็เอา TruckNo เป็น PK และเอา วันที่ เลขกำกับ Work Order ใส่เป็นฟิลล์เข้าไปในตารางนี้ครับด้วยครับ


386
แสดงว่า Tag No Barcode เป็น Number ต้องใส่แบบนี้

Private Sub Text97_AfterUpdate()
Dim chk, chk2 As Variant
If Not IsNull(Me.Text97) Then
chk = DLookup("[Barcode PCB]", "[In Process]", "[Barcode PCB] = '" & Me.Text97 & "' And [Tag No Barcode] = " & [Tag No Barcode] & "")
chk2 = DLookup("[Barcode PCB]", "[Out Process]", "[Barcode PCB] = '" & Me.Text97 & "' And [Tag No Barcode] = " & [Tag No Barcode] & "")
    If IsNull(chk) And IsNull(chk2) Then
       MsgBox "ไม่มีข้อมูลในทั้งสองตาราง กรุณาตรวจสอบ"
       Me.Undo
    Else If IsNull(chk) Then
       MsgBox "ไม่มีข้อมูล In Process oki กรุณาตรวจสอบ"
       Me.Undo
    Else If IsNull(chk2) Then
       MsgBox "ไม่มีข้อมูล Out Process oki กรุณาตรวจสอบ"
       Me.Undo
    Else If Not IsNull(chk) and Not IsNull(chk2) Then
      MsgBox "มีข้อมูลทั้งสอง Process กรุณาตรวจสอบ"
    End If
End If
    End Sub

387
ห้อง MS Access / : สร้างฟอร์มรับสินค้า
« เมื่อ: 10 ก.ย. 63 , 11:25:46 »
อ้างถึง
Private Sub Inhouse_AfterUpdate()
Me.Customer = DLookup("[cus]", "[Raw Material]", "Code='" & [Inhouse] & "'")
Me.List = DLookup("[name]", "[Raw Material]", "Code='" & [Inhouse] & "'")
End Sub
อันนี้ใส่มาถูกต้องแล้ว ถ้า ฟิลล์ Code ชนิดข้อมูลเป็น String
แต่ถ้าชนิดของมูลเป็น Number ต้องแก้เป็นแบบนี้
Me.Customer = DLookup("[cus]", "[Raw Material]", "Code=" & [Inhouse] & "")
Me.List = DLookup("[name]", "[Raw Material]", "Code=" & [Inhouse] & "")


อ้างถึง
ยกตัวอย่าง สินค้า 11 ขนาดบรรจุอยู่ที่ 2 กิโล วันนี้เรารับสินค้า 11 มา 10 กิโล อยู่ก็อยากให้มันขึ้นมาเองเลยว่ารับเป็นกระป๋องมา 10
มันควรเป็น 5 กระป๋องหรือเปล่าครับ เพราะ บรรจุอยู่ที่ 2 กิโล รับมา 10 ก็ 10/2 = 5 หรือเปล่า ?
ถ้าจะนำมาคำนวน โดยในฟอร์มจะระบุ Inhouse แล้วให้มันทำการคำนวนขึ้นมานั้น
ใช้ การสร้างตัวแปรของแต่ละ ฟิลล์ ที่ต้องการแล้วใช้ Dlookup แต่ละฟิลล์มาเก็บไว้ในตัวแปรแล้วนำตัวแปรมาคำนวนครับ

โดยคุณต้องอธิบายว่า
1.อันไหนคือข้อมูลที่มาจากการกรอกบนฟอร์ม
2.อันไหนที่จะ ดึงข้อมูลจากฟิลล์ในตารางมาคำนวน
3.การคำนวนเป็นแบบไหน



388
คือเราสร้าง จุดของตัวเอง ใน google map แล้วดึงมาลงบนฟรอม ให้แสดงไว้ดูเฉย
อยากจะเอา google map นั้นไปไว้ใน report

อาจจะใช้การ Snapshot  หรือ Print Screen ไปแสดงในรายงาน หรือ อาจจะใช้วิธีอื่นๆ ต้องดูก่อนว่าสร้างฟอร์มไว้แบบไหน
ถ้ามีตัวอย่างที่ทำไว้แล้ว สามารถเพิ่มเติมไปแสดงในรายงานให้ได้ครับ

389
Private Sub Text97_AfterUpdate()
CheckData
End Sub

Private Sub ชื่อtextboxของTagNoBarcode_AfterUpdate()
CheckData
End Sub


Private Sub CheckData
Dim chk,chk2 As Variant
IF not isnull(Me.Text97) And  not isnull(Me.ชื่อtextboxของTagNoBarcode) then
chk = DLookup("[Barcode PCB]", "[TableA]", "[Barcode PCB] = '" & Me.Text97 & "' And [Tag No Barcode] = '" & Me.[ชื่อtextboxของTag No Barcode] & "'")
chk2 = DLookup("[Barcode PCB]", "[TableB]", "[Barcode PCB] = '" & Me.Text97 & "' And [Tag No Barcode] = '" & Me.[ชื่อtextboxของTag No Barcode] & "'")
    If IsNull(chk) And IsNull(chk2) Then
       MsgBox "ไม่มีข้อมูลในทั้งสองตาราง กรุณาตรวจสอบ"
       Me.Undo
    Else If IsNull(chk) Then
       MsgBox "ไม่มีข้อมูล In TableA กรุณาตรวจสอบ"
       Me.Undo
    Else If IsNull(chk2) Then
       MsgBox "ไม่มีข้อมูล In TableB กรุณาตรวจสอบ"
       Me.Undo
    Else If Not IsNull(chk) and Not IsNull(chk2) Then
      MsgBox "มีข้อมูลทั้งสองชุด"
    End If
end if
End Sub

390
ซ้ำซ้อนแน่นอนครับ คุณต้องกำหนดว่าจะนำเข้าข้อมูลอย่างไรครับ
มันสามารถกำหนดได้ครับ เช่นถ้ามี ID ที่เป็น PK  อยู่แล้ว ก็ไม่ต้อง Append เข้าไปครับ



391
ใช้ Append Query ได้ครับ โดยเลือกตารางที่ต้องการ Append เข้าไป
วิธีการนี้คือการนำเข้าข้อมูลไปยังตารางเป้าหมายได้ที่ละหลายๆเรคคอร์ดเลยครับ

วิธีการทำ ลองดูลิ้งนี้นะครับ

https://www.thai-access.com/index.php?topic=543.msg2382#msg2382

392
เช็คการเชื่อมต่อกับ back end ครับ

393
ห้อง MS Access / : รวมฟิวส์ Text
« เมื่อ: 02 ก.ย. 63 , 12:15:17 »
ขอบคุณมากๆเลยครับ แต่ตอนนี้ถ้าเกิด text1 เราไม่ต้องการกรอกข้อมูล แต่ตอนรวม มันจะมีค่าเว้นวรรคมาด้วย ถ้าเราไม่ต้องการทำยังไงครับ
ใช้ Trim เข้ามาช่วยครับ


Option Compare Database
Public strText1, strText2, strText3 As Variant

Private Sub Text1_Change()
If Len(Me.Text1.Text) > 0 Then
strText1 = Me.Text1.Text
Else
strText1 = Null
End If
OutPutString
End Sub

Private Sub Text2_Change()
If Len(Me.Text2.Text) > 0 Then
strText2 = Me.Text2.Text
Else
strText2 = Null
End If
OutPutString
End Sub

Private Sub Text3_Change()
If Len(Me.Text3.Text) > 0 Then
strText3 = Me.Text3.Text
Else
strText3 = Null
End If
OutPutString
End Sub

Private Sub OutPutString()
Me.total = Trim(strText1 & IIf(IsNull(strText2), Null, " " & strText2) & IIf(IsNull(strText3), Null, " " & strText3))
End Sub

394
ห้อง MS Access / : รวมฟิวส์ Text
« เมื่อ: 02 ก.ย. 63 , 08:10:50 »
แก้ไขเพิ่มเติมโค้ดนิดนึงกรณีลบข้อมูลออกหมด

โค๊ด: [Select]
Option Compare Database
Public strText1, strText2, strText3 As Variant

Private Sub Text1_Change()
If Len(Me.Text1.Text) > 0 Then
strText1 = Me.Text1.Text
Else
strText1 = Null
End If
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub
Private Sub Text2_Change()
If Len(Me.Text2.Text) > 0 Then
strText2 = Me.Text2.Text
Else
strText2 = Null
End If
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub
Private Sub Text3_Change()
If Len(Me.Text3.Text) > 0 Then
strText3 = Me.Text3.Text
Else
strText3 = Null
End If
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub

395
ขอบคุณมากครับ อาจารย์ PNR
ที่ งง คือ ผมมีอีกหน้าจอ เป็น Order ขาย
ลักษณะเหมือนกันเปี๊ยบเลย Continuous Form จอนั้นกลับไม่เป็นปัญหา
พยายามหาข้อแตกต่างใน Properties ก็หาไม่เจอ
วิธีอาจารย์ยากไปนิด ยังไม่ค่อยเข้าใจ ขอเวลาศึกษาก่อนครับ

ลองดูตัวอย่างด้านบนครับ มีตัวอย่างให้ดูด้วย โดยให้สังเกตุตรง cboUnit ที่ซ้อนกันกับ cboInput

396
สาเหตุเกิดจาก Combobox นั้นก็คือตัวเดียวกับ เรคคอร์ดแรกนั้นละครับ

เราสามารถใช้การสร้าง Combobox ซ้อน Combobox เพื่อให้เลือกรายการแล้วไปแสดงอีก Combobox หนึ่งครับ
ลองดูที่กระทู้นี้ครับ ส่วนตัวอย่างเดี่ยวผมลองหาให้แปป
https://www.thai-access.com/index.php?topic=1316.msg5802#msg5802

โดยใช้ Combobox Unbound ในการเลือกรายการมาแสดงใน Combobox หลัก
สมมุติ Combobox Unbound ชื่อ CboInput
        Combobox Unit ชื่อ CboUnit   

ที่คอมโบบ๊อก CboInput กำหนดให้ แสดงด้านหลังสุด


โค้ดก็มีประมาณนี้

Private Sub CboUnit_GotFocus()
Me.CboInput.SetFocus  'เมื่อเรากดจะเลือกรายการ Cursor จะถูกให้ไป Focus ที่ CboInput
Me.CboInput.Requery  'สั่งให้มีการลำดับรายการใหม่
Me.CboInput.Dropdown 'แสดงรายการแบบ Dropdown
End Sub

Private Sub CboInput_AfterUpdate()
Me.CboUnit = Me.CboInput 'สั่งให้รายการที่เลือกกลับมาแสดงที่ CboUnit
End Sub



หน้า: 1 ... 19 20 21 [22] 23 24 25 ... 46