กระทู้เก่าบอร์ด อ.Yeadram
1,303 8
URL.หัวข้อ /
URL
auyzeed
สวัสดีครับ คือ ต้องขอออกตัวก่อนนะครับว่าผมไม่มีความรู้เรื่อง Access เลย เเต่พองมงูๆ ปลาได้ดังนี้ครับ
มีปัญหาการทำใบกำกับภาษี เรื่องมีอยู่ว่าทำไม่ผมสั่ง พิมพ์ หรือ Previewer ข้อมูลในหน้า From ที่ผมสร้างขึ้นมาเเล้ว ตัวเลขที่เป็นตัวหนังสือ ไม่ยอมเเสดงออกมาใน Report ของผม ผมต้องใช้คำสั่งยังไงครับ ถึงจะเอาตัวอักษรมาเเสดงใน Report ได้ ผมใช้การดึง BahtText จาก Excel นะครับ ดังตัวอย่างที่เเนบมาครับ รบกวนผู้รู้ช่วยตอบทีครับ ขอบคุณล่วงหน้าสำหรับทุกคำตอบครับ
_________________________________________
Private Sub Command159_Click()
IsSaveClicked = True
Me.Dirty = False
MsgBox "บันทึกข้อมูลเรียบร้อยแล้ว"
End Sub
Function ExcelBathtext(value As Double) As String
If value = 0 Then
ExcelBathtext = ""
Else
ExcelBathtext = WorksheetFunction.BahtText(value)
End If
End Function
Private Sub cmdBahtText_Click()
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
Private Sub Command71_Click()
DoCmd.OpenReport "invoice_report_001", acViewPreview, , "[invoiceid] = " & Me.invoiceid.value
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If MsgBox("กรุณาบันทึกข้อมูล", vbQuestion + vbYesNo, "Save Record?") = vbYes Then
IsSaveClicked = True
Me.Dirty = False
MsgBox "บันทึกข้อมูลเรียบร้อยแล้ว"
Else
IsSaveClicked = False
End If
Response = acDataErrContinue
End Sub
Private Sub Command63_Click()
DoCmd.RunCommand acCmdSaveRecord
MsgBox "ข้อมูลทำการบันทึกเรียบร้อยแล้ว", vbOKOly, "แจ้งสถานะบันทึก"
Me.Recalc
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
Private Sub Command72_Click()
On Error GoTo Err_Command72_Click
DoCmd.GoToRecord , , acNewRec
Exit_Command72_Click:
Exit Sub
Err_Command72_Click:
MsgBox Err.Description
Resume Exit_Command72_Click
End Sub
มีปัญหาการทำใบกำกับภาษี เรื่องมีอยู่ว่าทำไม่ผมสั่ง พิมพ์ หรือ Previewer ข้อมูลในหน้า From ที่ผมสร้างขึ้นมาเเล้ว ตัวเลขที่เป็นตัวหนังสือ ไม่ยอมเเสดงออกมาใน Report ของผม ผมต้องใช้คำสั่งยังไงครับ ถึงจะเอาตัวอักษรมาเเสดงใน Report ได้ ผมใช้การดึง BahtText จาก Excel นะครับ ดังตัวอย่างที่เเนบมาครับ รบกวนผู้รู้ช่วยตอบทีครับ ขอบคุณล่วงหน้าสำหรับทุกคำตอบครับ
_________________________________________
Private Sub Command159_Click()
IsSaveClicked = True
Me.Dirty = False
MsgBox "บันทึกข้อมูลเรียบร้อยแล้ว"
End Sub
Function ExcelBathtext(value As Double) As String
If value = 0 Then
ExcelBathtext = ""
Else
ExcelBathtext = WorksheetFunction.BahtText(value)
End If
End Function
Private Sub cmdBahtText_Click()
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
Private Sub Command71_Click()
DoCmd.OpenReport "invoice_report_001", acViewPreview, , "[invoiceid] = " & Me.invoiceid.value
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If MsgBox("กรุณาบันทึกข้อมูล", vbQuestion + vbYesNo, "Save Record?") = vbYes Then
IsSaveClicked = True
Me.Dirty = False
MsgBox "บันทึกข้อมูลเรียบร้อยแล้ว"
Else
IsSaveClicked = False
End If
Response = acDataErrContinue
End Sub
Private Sub Command63_Click()
DoCmd.RunCommand acCmdSaveRecord
MsgBox "ข้อมูลทำการบันทึกเรียบร้อยแล้ว", vbOKOly, "แจ้งสถานะบันทึก"
Me.Recalc
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
Private Sub Command72_Click()
On Error GoTo Err_Command72_Click
DoCmd.GoToRecord , , acNewRec
Exit_Command72_Click:
Exit Sub
Err_Command72_Click:
MsgBox Err.Description
Resume Exit_Command72_Click
End Sub
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R17068
เเก้ไขครับ
2 @R17069
3 @R17070
4 @R17077
คุณเขียนว่า
DoCmd.OpenReport "invoice_report_001", acViewPreview, , "[invoiceid] = " & Me.invoiceid.value
เป็นการเปิดหน้ารายงาน
alphabet.value = ExcelBathtext(grant_tot.value)
แต่ตรงนี้คืออะไรครับ alphabet คือเท็กซ์บ็อกซ์บนรายงานหรือ ?
DoCmd.OpenReport "invoice_report_001", acViewPreview, , "[invoiceid] = " & Me.invoiceid.value
เป็นการเปิดหน้ารายงาน
alphabet.value = ExcelBathtext(grant_tot.value)
แต่ตรงนี้คืออะไรครับ alphabet คือเท็กซ์บ็อกซ์บนรายงานหรือ ?
5 @R17078
alphabet ใช่เเล้วครับเป็นชื่อ Texbox ใน From ครับ
ตัวอย่าง
Private Sub Command63_Click()
DoCmd.RunCommand acCmdSaveRecord
MsgBox "ข้อมูลทำการบันทึกเรียบร้อยแล้ว", vbOKOly, "แจ้งสถานะบันทึก"
Me.Recalc
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
ที่ผมทำเเบบนี้เพราะตอนเเรกตัวอักษรมันไม่เเสดงอัตโนมัติ ผมเลยให้เเสดงเมื่อกดปุ่มบันทึกตัวอักษรถึงจะออกมาครับ เเต่พอสั่ง Priviewเเล้วตัวอักษรกลับไม่เเสดงใน Report ครับ รบกวนด้วยครับ
ตัวอย่าง
Private Sub Command63_Click()
DoCmd.RunCommand acCmdSaveRecord
MsgBox "ข้อมูลทำการบันทึกเรียบร้อยแล้ว", vbOKOly, "แจ้งสถานะบันทึก"
Me.Recalc
alphabet.value = ExcelBathtext(grant_tot.value)
End Sub
ที่ผมทำเเบบนี้เพราะตอนเเรกตัวอักษรมันไม่เเสดงอัตโนมัติ ผมเลยให้เเสดงเมื่อกดปุ่มบันทึกตัวอักษรถึงจะออกมาครับ เเต่พอสั่ง Priviewเเล้วตัวอักษรกลับไม่เเสดงใน Report ครับ รบกวนด้วยครับ
6 @R17079
ดังตัวอย่างครับ
ดังตัวอย่างครับ
7 @R17081
ทำไมถึงคิดว่ามันจะไปปรากฏบนรายงาน invoice_report_001 ให้โดยอัตโนมัติหล่ะครับ !!! มันไม่ไปให้นะครับ ในตัวรายงานเองจะต้องสั่งพิมพ์ค่านี้เองเหมือนกับที่ทำในฟอร์ม ถ้าเข้าใจไม่ผิด ส่วนที่แสดงจำนวนเงินเป็นตัวอักษรนี้อยู่บน Detail section ของรายงาน สมมติว่าชื่อ X แล้วค่ายอมรวมของจำนวนเงินชื่อว่า Y
ดังนั้นให้ใส่โค้ดนี้ครับ
Private Sub Detail_Format(Cancel As Integer, PrintCount As Integer)
x = ExcelBathtext(y)
End Sub
แล้วก็ใส่ฟังก์ชั่น ExcelBathtext รวมเข้ามาในตัวรายงานอีกครั้งด้วยนะครับ
Function ExcelBathtext(value As Double) As String
If value = 0 Then
ExcelBathtext = ""
Else
ExcelBathtext = WorksheetFunction.BahtText(value)
End If
End Function
ดังนั้นให้ใส่โค้ดนี้ครับ
Private Sub Detail_Format(Cancel As Integer, PrintCount As Integer)
x = ExcelBathtext(y)
End Sub
แล้วก็ใส่ฟังก์ชั่น ExcelBathtext รวมเข้ามาในตัวรายงานอีกครั้งด้วยนะครับ
Function ExcelBathtext(value As Double) As String
If value = 0 Then
ExcelBathtext = ""
Else
ExcelBathtext = WorksheetFunction.BahtText(value)
End If
End Function
8 @R17082
โอ้วๆ ถูกต้องเเล้วครับ
ขอบคุณมากครับ ได้เเล้วครับ ก่อนหน้านี้ก็ทำลักษณะนี้เเหละครับ มันไม่ออกเลยงงไปใหญ่เลย
คือตอนนี้ที่บริษัทใช้วิธีการเขียนใบกำกับภาษีนะครับ เลยจะช่วยลดเวลาการทำงานเขาเลยต้องเอา Access เข้ามาช่วย ก่อน ว่าจะเริ่มหัดเขียน PHP ให้เขาใช้งานจริงนะครับ ตัวนี้ให้ใช้ชั่วคราวก่อน
ขอบคุณอีกครั้งครับ ...
ขอบคุณมากครับ ได้เเล้วครับ ก่อนหน้านี้ก็ทำลักษณะนี้เเหละครับ มันไม่ออกเลยงงไปใหญ่เลย
คือตอนนี้ที่บริษัทใช้วิธีการเขียนใบกำกับภาษีนะครับ เลยจะช่วยลดเวลาการทำงานเขาเลยต้องเอา Access เข้ามาช่วย ก่อน ว่าจะเริ่มหัดเขียน PHP ให้เขาใช้งานจริงนะครับ ตัวนี้ให้ใช้ชั่วคราวก่อน
ขอบคุณอีกครั้งครับ ...
Time: 0.3443s