แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 6
1
แวะมาแจมว่า ไม่สมควรใช้ชื่อฟิวล์ name
โพสต์นี้ได้รับคำขอบคุณจาก: Un

2
ตัวอย่างแบบนี้ได้หรือเปล่าครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

3
แนวทางประมาณนี้ ไม่รู้ว่าใช่คำตอบหรือไม่
recordset rs // checkbox true
Do While Not rs.EOF
msg=msg & rs!ชื่อ & vbCrLf
loop
Dim result as String
result=msgbox "คุณต้องการลบ " & msg & vbCrLf & "หรือไม่" ,vbYesNo,"ยืนยันการลบ"
if result=vbYes then
....
else
...
end if
โพสต์นี้ได้รับคำขอบคุณจาก: Un

4
ลองแบบที่อาจารย์ OddyWriter บอกดีกว่าครับ ผมก็คิดอยากจะทำกับคิวรี่แต่คิดวิธีไม่ออกครับ
เมื่อมีแนวทางแล้ว เอาแบบที่ อาจารย์ OddyWriter แนะนำดีกว่าครับ เร็วกว่าจริงๆ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

5
1. ข้อมูลแบบนี้ต้องมี MovementID ร่วมด้วย
2. "วันแรกที่รับเข้า เรคคอดแรกของโปรแกรม มันจะคิดรวมยังงัย" ขึ้นอยู่กับเงื่อนไขการรับเข้าครับ ถ้าจะไม่ให้มารวม ก็ใส่เป็น 0 แทนที่จะเป็น 1 หรือ -1
3. การเขียน Code ก็ดีนะครับ แต่ปัญหาคือมันทำงานช้ากว่า Query ครับ ผมเคยเขียน Code Loop 10,000 รอบ สำหรับข้อมูล 10,000 เรคอร์ด กว่าจะทำงานเสร็จ สุดท้ายใช้ Query ซ้อน Query เร็วกว่ากันเยอะ (กดปุ๊บ ได้ปั๊บ)
โพสต์นี้ได้รับคำขอบคุณจาก: Un

6
ถ้าใช้ 1 กับ 2 แบบนี้ เวลาทำ Total Query เพื่อหาผลรวม มันก็ทำได้นะครับ แต่จะยุ่งยากหน่อยๆ
แนะนำให้เปลี่ยนจาก 1 กับ 2 เป็น 1 กับ -1 แล้วเพิ่มคอลัมน์ ที่นำจำนวนมาคูณกับ 1 กับ -1

จากนั้นทำ Total Query จากค่าผลลัพธ์ที่ได้

อีกอย่าง "ตัวแปร" คือ Variable ส่วน "ตัวแปล" ก็ประมาณ "วุ้นแปลภาษาของโดเรมอน" ครับ



ขอ Query Running sum ฟิลด์ Totel ครับ
โดย MCode เป็นตัวแปลตามชนิดวัสดุ
      MType เป็นตัวแปลถ้ารับ(เท่ากับ1)จะเอาค่าที่รับมาบวก ถ้าเบิก(เท่ากับ2)เอามาลบ
Table แรกชื่อ qMrep

ขอความช่วยเหลือด้วยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

7
ถ้าใช้คิวรี่ยังคิดไม่ออก
แต่ถ้าเป็นการ Loop check แล้วนำมาเพิ่มหรือหักลบกับค่าด้านบนเหมือนการรับยอดตัดยอดผมพอทำได้ครับ
วิธีการที่คิดได้ต้องสร้างตารางเพื่อแสดงผลครับ
เอาไหม ?
โพสต์นี้ได้รับคำขอบคุณจาก: Un

8
ไม่รู้ว่าใช่ Version ที่ต้องการหรือเปล่า
โพสต์นี้ได้รับคำขอบคุณจาก: Un

9
อ้าว ลบข้อมูลออกทำไมอะครับ เผื่อจะมีประโยชน์กับคนอื่นในอนาคต
โพสต์นี้ได้รับคำขอบคุณจาก: Un

10
ผมพิมพ์คำว่า เอนก Access มันแก้ไขให้เอง เป็น อเนก
ปกติก็ไปแก้ที่การตั้งค่า แต่พอเป็น Access คั้งแต่ 2010 ขึ้นไป แก้ที่ตรงไหนครับ
ผมลองไปที่ ตั้งค่า > ฐานข้อมูลปัจจุบัน > ตัวเลือกการแก้ไขชื่อัตโนมัติ คลิกที่กล่องคำสั่งออก
แล้วปิดโปรแกรม เปิดใหม่ แต่มันไม่หายครับ ใครรู้ช่วยหน่อยครับ

อยู่ตรง ตั้งค่า > การพิสูจน์อักษร มันจะมีปุ่ม ตัวเลือกการแก้ไขอัตโนมัติ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

11
หาจนเจอครับ มันเป็นรูปแบบของ UnixTime ซึ่งเป็นรูปแบบวันที่ บน MySQL
จึงเอามาฝากใว้ให้เพื่อนสมาชิก เผื่อว่า ติดปัญหาเดียวกัน
vDate =  ([StartTime]/86400)+#01/01/1970#

แหล่งที่มา
https://codebeautify.org/unix-time-stamp-converter link
โพสต์นี้ได้รับคำขอบคุณจาก: Un

12
เหมือนว่าระบบจะไม่ให้แก้ข้อมูลเก่าเป็นฟิลด์คำนวนครับ ต้องเพิ่มแถวข้อมูลใหม่ > Calculated > ใส่หรือพิมพ์สูตรทึีต้องการคำนวนเช่น [a ]+[b ] / เสร็จสิ้น

https://codekabinett.com/rdumps.php?Lang=2&targetDoc=access-table-calculated-field-compute-quarter-date link

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

13
เดี่ยว DIY ให้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

14
ขอบคุณครับอาจารย์ เดี๋ยวจะลองแบบนี้ดูครับ
จากโพสบนได้ปรับปรุงโค้ดนิดหน่อยนะครับ กรณีที่ครบ 15 ทุกหน้าก็ให้ทำงานตามปกติ ไม่ต้อง Addrow
โพสต์นี้ได้รับคำขอบคุณจาก: Un

15
ผม DIY เอานะครับ
ผมสมมุติตารางหลักชื่อ table1
          ตารางที่ออกรายงานชื่อ Table1Report โดยใช้การ Maketable โดยได้เพิ่ม Field Addrow มาด้วย
โดยใช้
totalRec = DCount("*", "table1") 'นับจำนวนแถวทั้งหมดของตาราง table1
totalRec = 15 - ([totalRec] Mod 15)  'เพื่อให้ได้ จำนวนแถวที่ขาดหายไป

แล้วใช้โค้ด Addnew เพื่อเพิ่มแถวที่ขาดหายไปยังตาราง Table1Report
เท่านั้นก็จะได้แถวครบ 15 แถวในหน้าสุดท้ายแล้วครับ โดยโค้ดสามารถดูได้จากปุ่ม เปิดรายงานบนฟอร์มนะครับ
โค๊ด: [Select]
Private Sub Command0_Click()
Dim totalRec As Integer
Dim RS As DAO.Recordset
Dim i As Integer
Dim sql As String
totalRec = DCount("*", "table1") 'นับจำนวนแถวทั้งหมดของตาราง table1
totalRec = 15 - ([totalRec] Mod 15)  'หาจำนวนแถวที่ขาดหายไปที่ไม่ครบ 15แถว
If Not totalRec = "15" Then
sql = "SELECT ' ' AS AddRow, Table1.* INTO Table1Report FROM Table1;" 'สั่งให้มีการสร้างตารางซัฟ ขึ้นมาเพื่อใช้แสดงรายงาน
        DoCmd.SetWarnings False
        DoCmd.RunSQL sql
        DoCmd.SetWarnings True

For i = 1 To totalRec
    Set RS = CurrentDb.OpenRecordset("table1Report", dbOpenDynaset) 'add แถวที่เหลือไปยังตาราง สำรอง
            RS.AddNew
            RS![Addrow] = " " & i
            RS.Update
  Next
    RS.Close
    Set RS = Nothing
   
    Else 'ถ้าเช็คแล้ว ไม่เกิน 15 คือครบทุกหน้าก็ให้ทำงานที่คำสั่ง ล่าง Else ครับ
    sql = "SELECT ' ' AS AddRow, Table1.* INTO Table1Report FROM Table1;" 'สั่งให้มีการสร้างตารางซัฟ ขึ้นมาเพื่อใช้แสดงรายงาน

        DoCmd.SetWarnings False
        DoCmd.RunSQL sql
        DoCmd.SetWarnings True

    End If
   
    DoCmd.OpenReport "rptdemo", acViewPreview
End Sub


และในส่วนของ รายงานแก้เป็นแบบนี้นะครับ
โค๊ด: [Select]
Private Sub รายละเอียด_Print(Cancel As Integer, PrintCount As Integer)
 If PrintCount = 1 Then curTotal = Nz(curTotal, 0) + Nz(Me.Amount, 0)
 End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Un

16
สร้าง textbox และใส่โค้ดแบบที่ผมโพสไปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

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