แสดงกระทู้

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

หน้า: 1 2 3 [4] 5 6 7
49
เท่าที่ดู  ตาราง "รายการซื้อ"  ไม่ต้องทำหลายตารางก็ได้ครับ
ใช้เป็นตารางเดียว  แค่เพิ่มฟิลด์ "วันที่ซื้อ" เข้าไป
เวลาทำคิวรี่ ก็เอาฟิลด์วันที่นั้น มาแยกเอาครับ

50
ผมใช้ 2003 32บิต แต่รันบน 2013 64บิต  ก็ไม่ได้ convert
มีแปลงโค๊ด VBA บ้างนิดหน่อยตอนเรียกใช้ API ของวินโดว์

https://www.thai-access.com/index.php?topic=931.msg4308#new

51
Private Sub Form_Load()
  if datetime=date() then
    me.รหัสการติดตาม2.Locked=true
  else
    me.รหัสการติดตาม2.Locked=False
  end if
End Sub

อาจนำไปใช้กับ การเหตุการณ์ Focus ฟิลด์ก็ได้ครับ

52
ให้เชื่อมแบบ RIGHT JOIN  หรือ LEFT JOIN

53
ขอไฟล์มาดูดีกว่าครับ

54
ห้อง MS Access / : Access Runtime 2013ติดปัญหาครับ
« เมื่อ: 18 ต.ค. 62 , 12:15:46 »
เป็นที่วินโดว์ครับ ผมเจอบ่อย เครื่องผมเองนิล่ะ แรกๆ รันได้ อยู่มาวันนึง registry พัง
หรือไฟล์ระบบของวินโดว์ที่เกี่ยวข้องกับ Access หายอะไรก็ไม่รู้
ลองถอน Access ลงใหม่  ก็ไม่หายอาการนี้

สุดท้ายลงวินโดว์ใหม่ (ต้องเป็นแผ่น/iso ที่เราเคยใช้รันได้นะครับ)

ตอนนี้ก็กำลังหัดเขียนภาษา delphi xe8  :cool: :cool: :cool:

55
ห้อง MS Access / : access 2003 to windows 10 64 bit
« เมื่อ: 18 ต.ค. 62 , 12:04:31 »

56
ถ้าคำสั่งนี้ทำได้ ให้เปลี่ยนปุ่ม Command ใช้ปุ่มสลับ(Toggle) แทนครับ

57
1. น่าจะเป็นที่วินโดว์ครับ ต้องทดสอบกับเครื่องอื่นดูครับ ที่ไม่ใช่เครื่องที่ติดตั้งจากแผ่นเดียวกัน
2. ติดตั้ง Access2007 ไม่เต็ม (ให้เลือกแบบกำหนดเอง)

น่าจะเป็นที่วินโดว์มากกว่า   :cool: :cool: :cool:

58
เปลี่ยนจาก Filename = Me.voucher_s_id  เป็น  Filename = Me.Text315

59
ห้อง MS Access / : access 2003 to windows 10 64 bit
« เมื่อ: 16 ต.ค. 62 , 20:41:08 »
ได้เลยครับคุณมาลี  เพราะผมเขียนโค๊ดด้วย 2003 32บิต (VBA 6.3) ให้ใช้กับ 2013 64บิต (VBA 7.1)
ก่อนหน้านี้ก็คิดหนักอยู่ครับ  โค๊ดมันจะ Error ตรงการเรียกใช้ API ของวินโดว์เท่านั้นล่ะ

60
ห้อง MS Access / : การผูก Queries
« เมื่อ: 16 ต.ค. 62 , 20:22:24 »
ใช้ nz(ฟิลด์)+0 ร่วมครับ ไม่รู้จะใช่ที่ต้องการหรือป่าว

61
code คำสั่งตอนบันทึก

1. DoCmd.SetWarnings False
2.    Me.Refresh
3.    Dim sql As String
4.    sql = "SELECT [Forms]![ACC_บันทึกขายสินค้า]![text315] AS voucher_s_id INTO printbill;"
5.    DoCmd.RunSQL sql
6.    DoCmd.OpenReport "บ7/1ใบเสร็จ-ใบกำกับภาษีขาย"      'ไม่อะไรต่อท้ายคือสั่งพิมพ์ทันที ได้ 1 ครั้ง

จากโค๊ด  บรรทัด 4. เป็นคำสั่งสร้างตาราง printbill มีฟิลด์ เกิดจากอ้างอิงของฟอร์ม ตั้งชื่อ voucher_s_id
ก็สามารถนำไปใช้กับฟอร์มอื่นๆ เปลี่ยนแค่ชื่อฟอร์ม กับ ชื่อฟิลด์  2 จุดนี้พอ

เงื่อนไขในคิวรี่  ตรงเลขบิลจะเป็น   DLookUp("voucher_s_id","printbill")

คงพอแก้ขัด  :cool: :cool: :cool:

62
ถ้ารายงานนั้นเปิดด้วยฟอร์ม หลายๆ ฟอร์ม แต่เงือนไข เดียวกันคือเลขบิล  ให้ทำคำสั่ง สร้างตาราง เพื่อเก็บค่าเลขบิล  แล้วตรงเงื่อนไขคิวรี่
ให้ใส่ เป็น DLookup("ฟิลด์เลขบิล","ตารางที่สร้างขึ้นใหม่") แทนการอ้างอิงฟอร์ม

63
ห้อง MS Access / : เปลี่ยนเป็น type memo error
« เมื่อ: 09 ต.ค. 62 , 19:50:06 »
ODBC เวอร์ชั่นอะไรครับในการเชื่อม Mysql  ผมใช้  5.3
แล้วใน navicat มันมีแต่ vachar ไม่มี nvachar
vachar กำหนดค่า Length=500 เชื่อมมาก็เป็น memo
ใช้งานได้ปกติครับ

64
ห้อง MS Access / : access 2003 to windows 10 64 bit
« เมื่อ: 09 ต.ค. 62 , 19:32:05 »
ต้องทำ code เพิ่มอีกนิดหน่อย จาก Private Declare Function  เป็น  Private Declare PtrSafe Function

Option Compare Database
      Private Const LOCALE_SSHORTDATE = &H1F
      Private Const WM_SETTINGCHANGE = &H1A
      Private Const HWND_BROADCAST = &HFFFF&
#If VBA7 Then 'access 64บิต
      Private Declare PtrSafe Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
      Private Declare PtrSafe Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
      Private Declare PtrSafe Function GetSystemDefaultLCID Lib "kernel32" () As Long
#Else
      Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
      Private Declare Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
      Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
#End If
 

Function setdate()  'ตรวจสอบรูปแบบวันที่ dd/mm/yyyy
    Dim dwLCID As Long
            dwLCID = GetSystemDefaultLCID()
           
        If SetLocaleInfo(dwLCID, LOCALE_SSHORTDATE, "dd/MM/yyyy") = False Then
            MsgBox "ผิดพลาด", vbCritical, "Error"
        End If
            PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Function

หน้า: 1 2 3 [4] 5 6 7