แสดงกระทู้

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 - ปิ่นณรงค์

หน้า: 1 2 3 [4] 5 6 7 ... 24
49
:sweat:Copy File ไปใช้อีกเครื่อง Listbox ในฟอร์ม ไม่ทำงานเลือกเลื่อน แล้วชุดข้อมูลไม่เปลี่ยนให้ Access2013 ทั้ง 2 เครื่อง
รบกวนด้วยครับ

นำไปใช้เครื่องอื่น เปิด Trust Center ให้ Macro ทำงานได้หรือยังครับ

ลองดูวิธีตามนี้ครับ
https://www.ugetproject.com/wp/ms-office-access/ตั้งค่าให้vbaทำงาน.html link
โพสต์นี้ได้รับคำขอบคุณจาก: somchai

50
ปัญหานี้อาจจะเกิดจาก References ไม่ครบถ้วน หรือเปล่า ลอง เอาหน้า References มาดูหน่อยครับ
แจ้ง version ของ Office ด้วยนะ
การตรวจสอบ เปิดหน้าต่างเขียนโค้ด หรือที่ งานของเรากด Alt+F11  เลือกรายการ tab ชื่อ  Tools > References. 
แล้วลองตรวจเช็คดูครับ
ของผมปกติเจออย่างต่ำก็ 4 รายการคับ
โพสต์นี้ได้รับคำขอบคุณจาก: MiKu

51
Combobox นิยมใช้ในการเลือกรายการหรือเลือกจากตัวเลือกที่สร้างขึ้นมามากกว่าจะใช้การ ใส่ตัวเลขนะครับ
แต่ถ้าใส่ตัวเลือก จาก ID แล้ว แสดงส่วนของ Detail ก็ว่าไปอย่าง
ถ้าเป็นการใส่ตัวเลขก็ใช้ textbox ก็ได้ เลยสงสัยว่าการนำไปใช้ๆทำอะไรครับ

เช่น
โค๊ด: [Select]
Private Sub Combo_Box_1_AfterUpdate()
If Not IsNull(Me.Combo_Box_1) Then
Me.Combo_Box_2 = Me.Combo_Box_1
Me.Combo_Box_3 = Me.Combo_Box_1
End If
End Sub



โพสต์นี้ได้รับคำขอบคุณจาก: sjs, suaccess

52
เราเอา code ไปใส่ใน module ได้ไหมครับ  เพราะทุกฟอร์มที่เปิดจะ เปิดใช้เหมือนกัน  จะได้ไม่ต้องไใส่ใน form load   ของ property
ท่านไปกำหนดของแต่ละฟอร์ม ก่อนเรียก Function มาใช้นะครับ


ที่ Module

โค๊ด: [Select]
Public Function MyKeyCode(KeyCode As Integer, Shift As Integer) As Integer
    Select Case KeyCode
        Case vbKeyF1
            MyKeyCode = 0
         MsgBox "F2 = Previous Record" & vbCrLf & "F3 = Next Record" & vbCrLf & _
         "F4 = Save Record" & vbCrLf & "F8 = Open Reports" & vbCrLf & _
         "F10 = Save And Exit", vbInformation + vbSystemModal, "HELP"
         
         Case vbKeyF2
            MyKeyCode = 0
             On Error Resume Next
             DoCmd.GoToRecord , , acPrevious
           
         Case vbKeyF3
            MyKeyCode = 0
            On Error Resume Next
            DoCmd.GoToRecord , , acNext
       
          Case vbKeyF4
            MyKeyCode = 0
            DoCmd.RunCommand acCmdSaveRecord
           
            Case vbKeyF8
            MyKeyCode = 0
            DoCmd.OpenReport "Report1", acViewNormal
         
             Case vbKeyF10
                DoCmd.Close , , acSaveYes
       
        Case Else
            MyKeyCode = KeyCode
    End Select
End Function

ที่ฟอร์มแต่ละฟอร์ม Event Keydown เอาโค้ดนี้ไปวางไว้ได้เลย
โค๊ด: [Select]
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = MyKeyCode(KeyCode, Shift)
End Sub

หมายเหตุที่ Select Case แต่ละอันท่านไปปรับเปลี่ยนการทำงานได้ตามสะดวกครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

53
สร้าง แถบ Ribbon มาใช้เองก็ได้คับ แล้วเลือก สัญลักษณ์เครื่องปริ้นมาแสดงไว้พอจะปริ้น ก็ Ribbon เอาเลย
โพสต์นี้ได้รับคำขอบคุณจาก: diehard4

54
แก้เป็นแบบนี้ได้ไหม เป็นการกำหนดเงื่อนไขว่า ถ้า textbox barcode ว่าง ก็ให้ออกจากการทำงานที่เหลือ

โค๊ด: [Select]
Private Sub Command122_Enter()
On Error Resume Next
if isnull(me.Barcode) then
Me.Barcode.SetFocus
exit sub
else
Forms("Sale").subformsale.Form.Item_no = Barcode
subformsale.SetFocus
DoCmd.GoToRecord , , acNewRec
DoCmd.GoToControl "Barcode"
Barcode.SetFocus
Barcode = Null
end if
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: ekppom

55
ตามความเป็นจริง จำนวนใดๆ หาร 0 มันทำไม่ได้อยู่แล้วครับ

ถ้า จำนวนตัวเลข หาร 0 จะแสดง #Div/0!

ถ้า 0 หาร 0 ก็จะแสดง #Num ครับ

แต่เรากันข้อผิดพลาดได้โดยการกำหนดเงื่อนไข ก่อนคำนวนเช่น
เปลี่ยนจาก [Sum]/[Last]
เป็น
โค๊ด: [Select]
IIf([Sum]<>0 And [last]<>0,[Sum]/[Last],0)
หรือถ้าอยากให้แสดงเป็นช่องว่างแทนเลข 0 ก็ใส่ Null ก็ได้คับ
โค๊ด: [Select]
IIf([Sum]<>0 And [last]<>0,[Sum]/[Last],null)
โพสต์นี้ได้รับคำขอบคุณจาก: MiKu

56
โอ้แย่แล้ว...พอดีเป็นเครื่องที่ทำงาน เค้า Block ไม่ให้ภายนอกเข้ามาได้ครับ....ให้ผมส่งไฟล์ไปให้ หรือ ให้ทำอย่างไรดีครับ....ขอบคุณครับ
แนบไฟล์ส่งมาใน Inbox เลยคับ
โพสต์นี้ได้รับคำขอบคุณจาก: thaworn Panchan

57
ธรรมดา มันจะมีให้ติ๊ก business กับ None commer...... ติ๊ก None แล้ว Next ยาวๆ พอติดตั้งเสร็จมันจะมี ID กับ password ของเรา ก็เอารหัสนั้นส่งให้ผมทาง Inbox ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: thaworn Panchan

58
https://dl.teamviewer.com/download/TeamViewer_Setup.exe link

Link ตรงคับ
โพสต์นี้ได้รับคำขอบคุณจาก: thaworn Panchan

59
ปัญหาเกิดจาก คุณไปกำหนด frm_search ที่เป็น subform ให้คุณสมบัติของฟอร์มห้ามแก้ไขคับ


แก้เป็น ใช่ แล้วจะสามารถติ๊กได้คับ
 :grin: :grin:
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

60
ถ้าแบบนี้ละครับ ถ้าไม่ได้ก็ teamviewer ไปดูให้ก็ได้นะครับ  :cool: :cool:

โค๊ด: [Select]
Private Sub TxtFindDapartment_GotFocus()
Dim strFindName As String
If Not IsNull(Me.Parent.TxtFindName) Then
Me.Parent.TxtFindName = Null
Me.Parent.TxtPicturePath = ""
strFindName = "SELECT * FROM [Personal_ST26] WHERE [MName] = null ;"
Me.Parent.RecordSource = strFindName
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: thaworn Panchan

61
งั้นใช้แบบนี้ครับ ถ้าให้ไปที่ Record  แรกแล้วให้ไปต่อ Record  อันหลัง

Private Sub Btn_Previous_Click()
Me.Recordset.MovePrevious
If Recordset.BOF Then
   Recordset.MoveLast
End If
End Sub

ถ้าRecord จากหลังจนสุด แล้วให้ไปต่อ Record หน้าสุด
Private Sub Btn_Next_Click()
Me.Recordset.MoveNext
If Recordset.EOF Then
   Recordset.MoveFirst
End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: arampong

62
ไป Record แรกสุด DoCmd.GoToRecord,,acFirst
ไป Record ท้ายสุด docmd.GoToRecord,,acLast ครับ

โพสต์นี้ได้รับคำขอบคุณจาก: arampong, thaworn Panchan

63
ถ้าแบบนี้ละครับ

โค๊ด: [Select]
Private Sub TxtFindDapartment_GotFocus()
Dim strFindName As String
If Not IsNull(Me.Parent.TxtFindName) Then
Me.Parent.TxtFindName = Null
Me.Parent.TxtPicturePath = ""
strFindName = "SELECT * FROM [Personal_ST26] WHERE [MName] = null ;"
Me.Parent.RecordSource = strFindName
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: thaworn Panchan

64
สร้างฟอร์มให้ค้นหาข้อมูลบุคคลากร โดยให้ค้นได้ 2 ทาง เพื่อให้ผู้มาติดต่อใช้งานค้นหา คือ
1.ค้นจากชื่อ เลยสร้างฟอร์มให้มี datasource เป็นตาราง "ข้อมูลส่วนตัว" ใช้ค้นข้อมูลจากชื่อ เป็นฟอร์มหลัก  และ
2.ค้นจากแผนกงาน เลยสร้างเป็น subform ที่มี datasource เป็นตาราง"แผนกงาน" ใช้ค้นข้อมูลจากแผนกงาน เป็นฟอร์มย่อยที่อยู่ในฟอร์มหลัก (ข้อ 1.)
     ทีนี่อยากจะขอให้ช่วย คือ เมื่อผู้ใช้บริการคนแรก มา ใส่ชื่อพนักงาน ค้นหา แล้ว พบ และแสดงข้อมูลมาแล้ว แต่เมื่อผู้ใช้คบริการคนถัดไปมาจะค้นหาจากแผนกงาน แต่ข้อมูลของบุคคลากรคนเก่ายังค้างอยู่ที่หน้าจอทำให้เมื่อค้นจากแผนกงานได้ข้อมูลใหม่มาแล้วแต่หน้าจอฟอร์มหลักยังแสดงข้อมูลที่เกิดจากการค้นหาของคนแรกอยู่ จะล้างข้อมูลที่เกิดจากการค้นหาของคนแรกได้อย่างไรครับ...ขอขอบคุณครับ
ผมสมมุติ textbox ค้นหาจากชื่อว่า txtFindName
           textbox ค้นหาจากแผนกว่า txtFindDepartment
           Form หลักชื่อ FrmMain

ถ้าต้องการให้ล้างค่าที่กรอกไว้ของ txtFindName ออกไป ก็กำหนด Event GotFocus เอาก็ได้ครับเช่น

Private Sub txtFindDepartment_GotFocus()
Forms!frmMain.txtFindName = Null
Forms!frmMain.txtFindName.Requery
Me.txtFindDepartment.Requery
End Sub

ที่ผมสั่ง Forms!frmMain.txtFindName.Requery เผื่อว่าคุณใช้การแสดง การค้นหาโดยใช้ Criteria จาก Query
พอเราสั่ง = null แล้ว Requery ข้อมูลที่แสดงก็จะหายไปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: thaworn Panchan

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