สมัครสมาชิก
                       

แสดงกระทู้

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 ... 21
1
เพิ่มเติม

Safety valve ปีละ 1 ครั้ง
หม้อแปลง ปีละ 1 ครั้ง
PRESSURE RELIEF VALVE ปีละ 1 ครั้ง
Tank จะมีแยก2 คอลัมณ์
Internal 15ปี 1 ครั้ง
External ปีละ 1 ครั้ง


เหลือ เช็คทุก 6 เดือนไว้ว่างๆ จะทำตัวอย่างให้ดูครับ
Field Fix คือช่วงเดือนละปีที่ถึงวันครบรอบนะครับ
ปล แก้ระบบค้นหาตามเงื่อนไขให้ใหม่แล้วด้วยนะคับ
โพสต์นี้ได้รับคำขอบคุณจาก: MartSirawit

2
คือผมต้องการใช้ query กำหนด day time และก็ night time เพื่อแบ่งข้อมูลจะทำได้ไหมครับ

ผมสมมุติฟิลล์เก็บ เวลาชื่อ Ontime และกำหนดให้ 8 โมงเช้า ถึง 6 โมงเย็นเป็นเวลากลางวัน

ที่ Query กำหนดฟิลล์ว่า
โค๊ด: [Select]
IIf([Ontime] Between #8:00:00# And #18:00:00#,"day time","night time")
โพสต์นี้ได้รับคำขอบคุณจาก: Kanxay Vnv

3
อ้างถึง
หนูต้องการอยากจะตรวจสอบชื่อไฟล์ว่า หากไฟล์ที่เปิดนั้น เพียงมีชื่อ ขึ้นต้นด้วยคำว่า"Backup" ก็ให้มีการแจ้งเตือนดังกล่าวทันที

ถ้าจะสร้างการตรวจสอบเมื่อเปิดไฟล์ขึ้นมางั้นเราจะเพิ่มโค้ดตรวจสอบไว้ที่ AutoExec นะครับ
โดย Macro และ Module นี้นำไปไว้ที่ โปรแกรมหลักของเราเลย เวลา Copy ไฟล์ Macro และ Module นี้จะติดมาด้วย

ขั้นตอนที่ 1 สร้าง Module ใส่
โค๊ด: [Select]
Public Function AutoExec_AutoExec()
On Error GoTo AutoExec_AutoExec_Err
   Dim strFileName As String
   Dim DFileName As String
   
   strFileName = CurrentProject.Path & "\" & CurrentProject.Name
    DFileName = Dir(strFileName)
   
   If Left(DFileName, 6) = "Backup" Then
   MsgBox "ไฟล์นี้เป็นไฟล์สำรองไม่ควรเปิดใช้งานจนกว่าจะเปลี่ยนชื่อไฟล์ใหม่", vbInformation, "แจ้งเตือน"
    DoCmd.Quit
   End If
AutoExec_AutoExec_Exit:
    Exit Function
   
AutoExec_AutoExec_Err:
    MsgBox Error$
    Resume AutoExec_AutoExec_Exit
   
End Function

ขั้นตอนที่ 2 สร้างมาโครขึ้นมา 1 อันใส่โค้ดนี้ไปตั้งชื่อว่า AutoExec


เท่านี้เวลาเปิดไฟล์ไหนก็แล้วแต่ที่ Copy มา ถ้าไฟล์ ชื่อขึ้นต้นด้วย BackUp ก็จะแสดง Msgbox แจ้งเตือนทันทีคับ

ผมมีตัวอย่างไฟล์ ลองกด Botton Copy แล้วไปลองเปิดไฟล์ Backup ที่ Drive D ดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: aek, apirak

4
ขออนุญาตใช้กระทู้นี้ต่อคำถามเพิ่มเติมนะคะ
 หนูมีโปรเจ็คชื่อ Sample หนูลองนำคำสั่งในนี้ไปประยุกต์ใช้เป็นดังนี้
โค๊ด: [Select]
oFSO.CopyFile CurrentProject.Path & "\" & CurrentProject.Name, "D:\" & "Backup " & CurrentProject.Name
ซึ่งมันก็ใช้ได้ดีเลยทีเดียว โดยจะได้ไฟล์สำรองเป็น BackupSample ตามที่ต้องการ
ประเด็นปัญหาก็คือ หากเราไปเปิดตัวไฟล์สำรอง BackupSample แล้วสั่งสำรองข้อมูล
มันก็จะได้ไฟล์สำรองตัวใหม่เป็น BackupBackupSample

หนูจึงอยากได้ว่า หากมีการเปิดไฟล์โปรเจ็คที่ มีชื่อขึ้นต้นว่า Backup
ก็ให้มีข้อความบอกผู้ใช้ว่า"ไฟล์นี้เป็นไฟล์สำรองไม่ควรเปิดใช้งานจนกว่าจะเปลี่ยนชื่อไฟล์ใหม่" ประมาณนี้ค่ะ
ไม่ทราบว่าต้องทำอย่างไรคะ

สร้าง Function มาเช็คดูก็ได้คับ ว่าไฟล์เปิดใช้งานจริงหรือไม่

โค๊ด: [Select]
Function checkFileOpen(FilePath As String)
    Dim iFile As Long
    Dim OnErr As Long
    On Error Resume Next
    iFile = FreeFile()
    Open FilePath For Input Lock Read As #iFile

    Close iFile
    OnErr = Err
    On Error GoTo 0
     
    Select Case OnErr
    Case 0:    checkFileOpen = False
    Case 70:   checkFileOpen = True
    End Select
     
End Function

Private Sub Command0_Click()
Dim oFSO As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")

If checkFileOpen("D:\" & "Backup " & CurrentProject.Name) = False Then
   oFSO.CopyFile CurrentProject.Path & "\" & CurrentProject.Name, "D:\" & "Backup " & CurrentProject.Name
   Set oFSO = Nothing
   
Else
    MsgBox "ไฟล์นี้เป็นไฟล์สำรองไม่ควรเปิดใช้งานจนกว่าจะเปลี่ยนชื่อไฟล์ใหม่", vbInformation, "แจ้งเตือน"
End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี, diehard4, apirak

5
ถ้าใช้การสร้าง Unbound Control ไว้ส่วนหัวแล้วกรอกข้อมูลจากบนนี้ น่าจะพอทำได้คับ
ส่วนการให้ข้อมูลล่าสุดมาแสดงบนสุด ผมใช้การสร้างฟิลล์ อีกฟิลล์ datatype Date/Time กำหนด ค่าเริ่มต้นเป็น Now แล้วกรองค่าจากมากไปหาน้อยครับ
หรือถ้ามี ID แบบ Autonumber ก็เอามากรองได้เลยครับไม่ต้องสร้างฟิลล์เพิ่ม
ตัวอย่างด้านล่าง

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

6
ห้อง MS Access / : Modul not found
« เมื่อ: 07 พ.ค. 62 , 08:38:54 »
พอดีเปิด 64bit ไม่ได้ แต่พอแปลงเป็น 32bit ลองเปิดดูเปิดได้ปกติ
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida

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

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

ลองดูวิธีตามนี้ครับ https://www.ugetproject.com/wp/ms-office-access/%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87%E0%B8%84%E0%B9%88%E0%B8%B2%E0%B9%83%E0%B8%AB%E0%B9%89vba%E0%B8%97%E0%B8%B3%E0%B8%87%E0%B8%B2%E0%B8%99.html link
โพสต์นี้ได้รับคำขอบคุณจาก: somchai

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

9
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

10
เราเอา 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

11
ห้อง MS Access / : access 2013 runtime คลิกขวาไม่ได้
« เมื่อ: 03 พ.ค. 62 , 15:57:58 »
สร้าง แถบ Ribbon มาใช้เองก็ได้คับ แล้วเลือก สัญลักษณ์เครื่องปริ้นมาแสดงไว้พอจะปริ้น ก็ Ribbon เอาเลย
โพสต์นี้ได้รับคำขอบคุณจาก: diehard4

12
แก้เป็นแบบนี้ได้ไหม เป็นการกำหนดเงื่อนไขว่า ถ้า 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

13
ตามความเป็นจริง จำนวนใดๆ หาร 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

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

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

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

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

หน้า: [1] 2 3 4 ... 21