1
ห้อง MS Access / : รบกวนอาจารย์หรือผู้รู้เรื่อง SQL ครับ ข้อมูล 2 Table ไม่เคยทำได้สำเร็จสะทีครับ
« เมื่อ: 08 พ.ค. 65 , 12:03:45 »
แวะมาแจมว่า ไม่สมควรใช้ชื่อฟิวล์ name
โพสต์นี้ได้รับคำขอบคุณจาก: Un
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.
ขอ Query Running sum ฟิลด์ Totel ครับ
โดย MCode เป็นตัวแปลตามชนิดวัสดุ
MType เป็นตัวแปลถ้ารับ(เท่ากับ1)จะเอาค่าที่รับมาบวก ถ้าเบิก(เท่ากับ2)เอามาลบ
Table แรกชื่อ qMrep
ขอความช่วยเหลือด้วยครับ
ผมพิมพ์คำว่า เอนก Access มันแก้ไขให้เอง เป็น อเนก
ปกติก็ไปแก้ที่การตั้งค่า แต่พอเป็น Access คั้งแต่ 2010 ขึ้นไป แก้ที่ตรงไหนครับ
ผมลองไปที่ ตั้งค่า > ฐานข้อมูลปัจจุบัน > ตัวเลือกการแก้ไขชื่อัตโนมัติ คลิกที่กล่องคำสั่งออก
แล้วปิดโปรแกรม เปิดใหม่ แต่มันไม่หายครับ ใครรู้ช่วยหน่อยครับ
ขอบคุณครับอาจารย์ เดี๋ยวจะลองแบบนี้ดูครับจากโพสบนได้ปรับปรุงโค้ดนิดหน่อยนะครับ กรณีที่ครบ 15 ทุกหน้าก็ให้ทำงานตามปกติ ไม่ต้อง Addrow
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
Private Sub รายละเอียด_Print(Cancel As Integer, PrintCount As Integer)
If PrintCount = 1 Then curTotal = Nz(curTotal, 0) + Nz(Me.Amount, 0)
End Sub