แสดงกระทู้

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 - 001Jetnipit

หน้า: 1 ... 4 5 6 [7] 8 9 10
109
ผมเผลอไปกด Sort ใน ฟิล แล้วหาทางเอาออกไม่เจอครับ ลบฟิลเอาเข้าใหม่ก็แล้ว ไม่ทราบว่าต้องทำอย่างไรครับรบกวนทีครับขอบคุณครับ


110
ขอบคุณครับ ได้แล้วครับ

โดยการสร้างตาราง Temp มาเก็บข้อมูลที่ค้าหามาเก็บไว้ชั่วคราวแล้วค่อยเอาโค้ดด้านบน Export ออกครับ

โค๊ด: [Select]
Dim db As Database
Dim rsClone As DAO.Recordset
Dim rsptTemp As Recordset
Dim sFilename As String

'If MsgBox("You want to export to excel ??", vbQuestion + vbYesNo, "Confirm") = vbYes Then
Set db = CurrentDb
db.Execute "delete * from pi_temp;"

Set rsClone = Me.PIT.Form.RecordsetClone
Set rsptTemp = db.OpenRecordset("PI_Temp", dbOpenDynaset)
rsClone.MoveFirst
Do Until rsClone.EOF
rsptTemp.AddNew
rsptTemp![ID_Card] = rsClone![ID_Card]
rsptTemp![Code] = rsClone![Code]
rsptTemp![NameTH] = rsClone![NameTH]
rsptTemp![NameEN] = rsClone![NameEN]
rsptTemp![Position] = rsClone![Position]
rsptTemp![NickName] = rsClone![NickName]
rsptTemp![Section] = rsClone![Section]
rsptTemp![Department] = rsClone![Department]
rsptTemp![Mobile] = rsClone![Mobile]
rsptTemp![Sex] = rsClone![Sex]
rsptTemp![Blood_Type] = rsClone![Blood_Type]
rsptTemp![E-mail] = rsClone![E-mail]
rsptTemp![ComStart] = rsClone![ComStart]
rsptTemp![ComAge] = rsClone![ComAge]
rsptTemp![Transaction_NO] = rsClone![Transaction_NO]
rsptTemp![DOB] = rsClone![DOB]
rsptTemp![OwnAge] = rsClone![OwnAge]
rsptTemp![Education] = rsClone![Education]
rsptTemp![Domicile] = rsClone![Domicile]
rsptTemp.Update
rsClone.MoveNext
Loop
rsClone.Close: Set rsClone = Nothing
rsptTemp.Close: Set rsptTemp = Nothing
'End If

    sFilename = "D:\TestProject\Results.xlsx"
    DoCmd.OutputTo acOutputTable, "PI_Temp", acFormatXLSX, sFilename, True

111
นำไปใช้เครื่องอื่นๆ ก่อนใช้งานเปิดการตั้งค่า trust center ทุกครั้ง ลองดูกระทู้นี้
https://www.thai-access.com/index.php?topic=1024.msg4510#msg4510

ได้แล้วครับขอบคุณครับ

112
สอบถามพี่ๆ ที่รับงานเขียนโปรแกรมเวลาส่งงานให้ลูกค้าต้องส่งออกรูปแบบไหนหรอครับ ผมลองย้าย Access ในคอมขึ้นไฟล์กลาง(Map drive) โค้ดต่างๆนาๆ ส่วนมาใช้งานไม่ได้เลยครับ (โค้ดค้นหา,รีคิวรี่,นับจำนวนตารางจากคิวรี่) รบกวนช่วยด้วยครับ

113
ลองเพิ่มตรงสีแดงเข้าไปว่าได้ไหม
  Set xlapp = CreateObject("excel.application")
  With xlApp
        .Visible = True
        .DisplayFullScreen = True
        .Workbooks.Add
        .Sheets("Sheet1").Select
        .ActiveSheet.Range("A2").CopyFromRecordset rsClone

มัน Full จริงครับ แต่ปัญหาเดิมยังอยู่ครับ คือมันกระพริบแบบนี้แล้วเราต้องกดเอง


 ต่างกับปุ่ม Export อีกปุ่มมันจะเด้งหน้า Excel มาเลยครับ

เป็นเพราะผมไปปิดอะไรในนี้หรือเปล่าครับ กด Shift+ ดับเบิ้ลคลิ๊ก แล้วเปิด Form ขึ้นมา Excel ก็เด้งมาข้างหน้าปกติ แต่ถ้าหากดูโหมดแบบซ่อน Table ปัญหาก็จะเป็นตามข้างต้นเลยครับ


114
คือ Form ผมเป็น Popup ถ้าหาก เวลากดปุ่ม Export เป็น Popup ด้วยมันไม่เด้งมาโชว์ข้างหน้าโปรแกรมครับ แต่ถ้าเป็นแบบ Full screen จะไม่มีปัญหาครับ

โค้ดที่ผมใช้แล้วมันเป็น Full screen
Dim sFilename As String
    sFilename = "D:\TestProject\Results.xlsx"
    DoCmd.OutputTo acOutputQuery, "Q_PI_Checkbox", acFormatXLSX, sFilename, True

โค้ดนี้จะ Export ข้อมูลตามที่เราค้นหา แต่ผมไม่แน่ใจว่าจะเอาโค้ดข้างบนไปดัดแปลงใส่ข้างล่างตรงไหนครับ
Dim xlapp As Object
Dim i As Long
If Me.Dirty Then Me.Dirty = False
Dim rsClone As DAO.Recordset
Set rsClone = Me.PIT.Form.RecordsetClone
If rsClone.EOF Then
MsgBox "ไม่มีข้อมูลที่จะ Export!!", vbCritical, "สถานะ"
Set rsClone = Nothing
Exit Sub
End If


Set xlapp = CreateObject("excel.application")
With xlapp
.Visible = True
.workbooks.Add
.sheets("Sheet1").select

.activesheet.range("A2").copyfromrecordset rsClone
For i = 1 To rsClone.Fields.Count

xlapp.activesheet.Cells(1, i).Value = rsClone.Fields(i - 1).Name
Next i
xlapp.Cells.EntireColumn.AutoFit
End With

115
ขอบคุณครับ ใช้โมลดูลนี้ครับ

Public Function RowNum(frm As Form) As Variant
On Error GoTo Err_RowNum
   
    With frm.RecordsetClone
        .Bookmark = frm.Bookmark
        RowNum = .AbsolutePosition + 1
    End With
   
Exit_RowNum:
    Exit Function
   
Err_RowNum:
    If Err.Number <> 3021& Then
        Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description
    End If
    RowNum = Null
    Resume Exit_RowNum
End Function

116
ตามนี้เลยครับ



โค้ดล็อกอิน



ขอสอบถามว่าถ้าจะทำแบบนี้

1.ต้องใช้ตัวแปรทีเป็นชนิดที่ใช้ข้าม Form ได้ซึ้งเก็บค่า User แล้วเอามาเช็คที่ Form ที่จะแสดงผลว่าเป็น "นายเอ" หรือ "นายบี"
ถ้าเป็นนายบีให้ TextIDCard.Visible = False

วิธีนี้เป็นวิธีที่เวิร์คแล้วเป็นไปได้ไหมครับ หรือว่ามีวิธีอื่น ขอบคุณครับ


117
ผมต้องการให้เวลาที่เราติ๊กเช็คบ๊อก ตรงฟิล จำนวน ให้มันส้รางเลขขึ้นมาตามจำนวน Row ครับ
ใน Report มีฟังจะชั่น Running Sum สามารถทำได้ง่ายๆ



แต่ใน Form มันไม่มีอะครับ



ไม่ทราบว่าผมต้องเปลี่ยนเป็นวิธีไหนแทนครับ

118



เมื่อ Form เราเปิดขยาย เราสามารถทำให้พวกวัตถุตารางต่าง ปุ่มต่างๆ ขยายตามด้วยได้ไหมครบ ให้มันดูสมมาตรกัน

119
ผมว่าเงื่อนไขต้องนี้น่าจะมาจากเงื่อนไขตอนแรกมากกว่า
เช่น การกำหนดให้มีการ Dcount มาแสดงใหม่เป็นต้น

ขอบคุณครับ คิดไม่ถึงเลยครับบบบบบ

120
ผมทำฟอรมกรอกข้อมูลพนักงาน อยากให้มันกรอกเสร็จพอกดบันทึกแล้วอัพเดตค่า Textbox ที่โชว์จำนวนคนทันทีเลย
ใช้โค้ดแบบนี้ครับ



แต่มัน Error ลองทั้ง Requery ด้วยแล้วครับ ไม่ Error แต่ค่าไม่อัพเดต ไม่ทราบว่าบน Head titile มันสามารถไหมครับ

121
ห้อง MS Access / : สอบถามโค้ด SQL ครับ
« เมื่อ: 06 ส.ค. 64 , 14:25:16 »
ขอบคุณครับ

122
ห้อง MS Access / : สอบถามโค้ด SQL ครับ
« เมื่อ: 06 ส.ค. 64 , 14:08:22 »
WHERE (((PI.[Position]) NOT LIKE "ผช.ช่าง" And (PI.[Position]) Not Like "สัญญาจ้าง"));

แล้วถ้าเราอยากนับว่าใน Table นี้ Query นี้มี Record อยู่กี่ Row ใส่ลงใน form ต้องเขียน VBA ยังไงหรอครับ หรือว่าลง Query ได้อย่างเดียวครับ

123
ห้อง MS Access / สอบถามโค้ด SQL ครับ
« เมื่อ: 06 ส.ค. 64 , 13:55:27 »
โค้ด:
WHERE (((PI.[Position]) NOT LIKE "ผช.ช่าง"));
ในฟิล Position ไม่เอาเรคคอร์ดที่มีคำว่า "ผช.ช่าง" แล้วถ้าผมอยากเพิ่มอีกว่า และไม่เอาเรคคอร์ดที่มีคำว่า "สัญญาจ้าง" ด้วย ไม่ทราบว่ามันต้องต่อ And วงเล็บไหนยังไงหรอครับ หรือไม่ได้ครับ

124
ขอบคุณครับ ได้แล้วครับผม

125
เกิดจากหลังจากการกด ปุ่ม Compact and Repair Database ใน Database Tools ครับ ต้องก็อปฟอรมนั้นๆออกมาใหม่ละเปลี่ยนชื่อเอาใหม่ หายเลยครับ

126
สามารถดึงตารางที่มี Field เพศ หรือ Field กรุ๊ปเลือด มานับจำนวนโดยสร้างคิวรี่ใหม่ขึ้นมาแล้ว ใส่ sql แบบนี้

SELECT [เพศ], Count([เพศ]) AS จำนวน FROM [ชื่อตารางหรือคิวรี่]  GROUP BY [เพศ];

และถ้าจะนับจำนวน กรุ๊ปเลือด ทำแบบเดียวกัน

SELECT [กรุ๊ปเลือด], Count([กรุ๊ปเลือด]) AS จำนวน FROM [ชื่อตารางหรือคิวรี่]  GROUP BY [กรุ๊ปเลือด];

ถ้าอยากให้ ถ้ามีคำว่าสัญญาจ้าง ให้สร้างฟิลชื่อ แยกประเภท แล้วสร้างเรคคอดว่า"สัญญาจ้าง" = " & เรคคอดที่มีคำว่าสัญญาจ้างมา+ กัน & "  ,ถ้าไม่มีในฟิลแยกประเภท "พนักงานประจำ" = " & เรคคอดที่ไม่มีคำว่าสัญญาจ้างมา+ กัน & "

ถ้าเขียนโค้ดประมาณนี้ครับ ขอเขียนตามความเข้าใจ : iif([Employee] = like * "สัญญาจ้าง",Create [แยกประเภท], (New record=สัญญาจ้าง)=Sum( like * "สัญญาจ้าง"),In [แยกประเภท], ((New record=พนักงานทั่วไป)=Sum( There isn't * "สัญญาจ้าง")))

หน้า: 1 ... 4 5 6 [7] 8 9 10