แสดงกระทู้

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 ... 7
1
ผมเคยใช้แต่  DoCmd.FindRecord  มันค้นหาแบบข้ามฟอร์มได้   :miao: :miao: :miao:

RecordsetClone.FindFirst  ลองทำดูแล้วมันก็น่าจะโอยุนะ
    Forms!main!house.Form.RecordsetClone.FindFirst "[hcode] = " & Forms!main!person.Form.hcode
    Forms!main!house.Form.Bookmark = Forms!main!house.Form.RecordsetClone.Bookmark
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

 :cool: :cool: :cool:

2
สร้างตารางเก็บค่า ใน Access  ก่อน บันทึกลง Excel
ก่อนบันทึก ก็ให้ตรวจค่าใน excel ก่อนว่า ค่าซ้ำมั๊ย
ตรวจผ่านค่อย Add เข้าไป  ถ้าพบ แต่ข้อมูลไม่ครบก็ Update
ไม่ก็ลบทิ้งแล้ว Add ใหม่

3
        With [textbox].FormatConditions
            .Delete 'ลบเงื่อนไขเดิม
            With .Add(acExpression, acEqual, "[txt1]<60") 'เพิ่มรูปแบบตามเงื่อนไข
            .BackColor = vbRed 'แสดงสีของ textbox
            End With
        End With

จะประมาณนี้    รูปแบบอื่นๆ ก็หาใน google เอานะครับ  หรือ  https://www.thai-access.com/topic_post.asp?CategoryID=&TopicID=3032

6
แนบไฟล์มาให้ อ.ทั้งหลาย ทำตัวอย่างให้ แล้วไปแกะเอาจะง่ายกว่าครับ อธิบายในถามตอบ มันยาวเกิน  :cool: :cool: :cool:

7
1.กำหนดคุณสมบัติฟอร์ม อนุญาตให้เพิ่ม เป็น  "ไม่ใช่"
2.สร้าง textbox_tmp ขึ้นมา โดยไม่เชื่อมกับฟิลด์ของตาราง
3.ปุ่มเพิ่ม
    If Not IsNull(Me.textbox_tmp) Then
            Me.AllowAdditions = True
            DoCmd.GoToRecord , , acNewRec
            Me.txt_Message=me.textbox_tmp
    End If
4.ปุ่มบันทึก
    me.Refresh
    Me.textbox_tmp=Null
    Me.AllowAdditions = False

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

8
ห้อง MS Access / : ดูผลลัพธ์ loop ไม่ทัน
« เมื่อ: 27 เม.ย. 65 , 00:07:51 »
เหมือนอยากนับถอยหลัง (ไม่รู้ตรงใจป่าว) น่าจะใช้ TimerInterval

9
จากความตั้งใจ จะ copy ไฟล์ไปยัง USB อัตโนมัติตอนปิดโปรแกรม โดยปกติ USB ค่า DriveType=1  แต่เครื่องผมดันเป็น 2 (มองเป็นฮาร์ดดิสก์)  มีวิธิแก้ไขมั๊ยครับ หรืออาจจะเช็คค่าอื่นแทน DriveType

Function getUSBDrive()

Set fso = CreateObject("Scripting.FileSystemObject")

For Each Drive In fso.Drives
    If Drive.IsReady Then
        MsgBox Drive.DriveLetter & " - " & Drive.VolumeName & " - " & Drive.DriveType
    End If
Next
   
End Function

10
ลองค้นหาใน google  ด้วย  "access vba conditional formatting"   มีโค๊ดให้อยู่นะครับ  :cool: :cool: :cool: :cool:

11
ทำเหมือน excel เลยครับ แต่ผมทำ Code ไม่เป็นนะครับ

12
Public Function AgeYe(db, dN) As Integer  'หาอายุปี
    If Day(dN) >= Day(db) Then
        If Month(dN) >= Month(db) Then
            AgeYe = Year(dN) - Year(db)
        Else
            AgeYe = Year(dN) - Year(db) - 1
        End If
    Else
        If (Month(dN) - 1) >= Month(db) Then
            AgeYe = Year(dN) - Year(db)
        Else
            AgeYe = Year(dN) - Year(db) - 1
        End If
    End If
End Function

Public Function AgeMo(db, dN) As Integer  'หาอายุเดือน
    If Day(dN) >= Day(db) Then
        If Month(dN) >= Month(db) Then
            AgeMo = Month(dN) - Month(db)
        Else
            AgeMo = Month(dN) + 12 - Month(db)
        End If
    Else
        If (Month(dN) - 1) >= Month(db) Then
            AgeMo = Month(dN) - 1 - Month(db)
        Else
            AgeMo = Month(dN) - 1 + 12 - Month(db)
        End If
    End If
End Function

Public Function AgeDa(db, dN) As Integer  'หาอายุวัน  ยืมวันกรณีวันที่น้อย
    Dim mon As Integer
        mon = Month(dN)
      Select Case mon
             Case 1, 3, 5, 7, 8, 10, 12
                jnM = 31
             Case 2
                If Year(dN) Mod 4 = 0 Then  'ก.พ. 4 ปีมี 1 ครั้งที่มี 29วัน
                    jnM = 29
                Else
                    jnM = 28
                End If
             Case Else
                jnM = 30
      End Select

    If Day(dN) >= Day(db) Then
        AgeDa = Day(dN) - Day(db)
    Else
        AgeDa = Day(dN) + jnM - Day(db)
    End If
End Function

ปล.  db คือ วันเกิด    dN คือ วันที่ ณ ต้องการคำนวณ

13
อ่านได้เป็น แสนล้าน

14
ห้อง MS Access / : การเก็บข้อมูล user ,password
« เมื่อ: 01 เม.ย. 65 , 01:34:03 »
คลิปอาจารย์เพิ่งทำ  ผมแปะกันลืมละกัน

15
ผมว่าใช้ format ก็น่าจะดูดีครับ เป็นการจัดกลุ่มตัวอักษร เช่น การอ่านเบอร์โทร 02 122 4568 หรือ 02-122-4568
เลขบัตรประชาชน  1 1234 00000 55 9 หรือ 1-1234-00000-55-9  อะไรประมาณนี้ เวลาสมองจดจำตัวเลขเป็นกลุ่มๆ
การบันทึกข้อมูลจะง่ายขึ้น ถ้าวรรคธรรมดา  ก็จะไม่ต่างอะไรกับไม่วรรค
เช่น format([เลขบัตร ปชช],"&-&&&&-&&&&&-&&-&")

16
ห้อง MS Access / : จะอ้างอิงค่าจาก record บน
« เมื่อ: 30 มี.ค. 65 , 13:00:05 »
ทำแบบลูกทุ่งครับ

Private Sub Command18_Click()
  DoCmd.GoToRecord , , acNewRec
  DoCmd.GoToRecord , , acPrevious 'ให้เคอร์เซอร์วิ่งกลับขึ้นไป  แล้วเขียนค่าวันที่ ใน chkdate
  Me.chkdate = me.datein  'วันที่ข้างบน
  DoCmd.GoToRecord , , acNext 'วิ่งกลับลงมา
end sub

Private Sub dateIn_AfterUpdate()
    If me.datein < me.chkdate Then
        MsgBox "วันที่ผิดพลาด....(วันที่น้อยกว่าวันที่ด้านบน " & me.chkdate & ")", vbCritical, "เตือน"
    End If
End Sub

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