แสดงกระทู้

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

หน้า: 1 ... 18 19 20 [21] 22 23 24 ... 32
361
สร้าง textbox และใส่โค้ดแบบที่ผมโพสไปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

362
ข้อที่ 1 ผมมีข้อมูลอยู่ 70 เรคคอด เอามาทำ รายงาน โดยที่ในแต่ละหน้า ต้องการเพียงแค่ 15 เรคคอด
(จากตัวอย่าง 2 เรคคอร์ดนะครับแก้เป็น 15 แทน)
http://www.databasedev.co.uk/report_printing.html

ข้อที่ 2 ขึ้นหน้าใหม่ โดยแต่ละหน้า มีบรรทัด Sum ด้วย

    Option Explicit     
    Dim curTotal As Currency 'กำหนดตัวแปรไว้บนสุดของโค้ด
ตรงส่วนของ PageHeader เลือกEvent  Format ใส่
    curTotal = 0             'กำหนดให้เท่ากับ 0 เมื่อขึ้นหน้าใหม่
ตรง  DetailSection เลือก Event  Print  ใส่
    If PrintCount = 1 Then
    curTotal = curTotal + Me.Amount  'Me.Amount คือชื่อ textbox
    End if
สร้าง  unbound control ตั้งชื่อ  PageTotal ใส่ Page Footer
ตรง PageFooter's Format ใส่
     Me.PageTotal = curTotal

  เครดิต Allen Browne.
http://allenbrowne.com/ser-11.html
โพสต์นี้ได้รับคำขอบคุณจาก: Un

363
ผมสร้าง code ดังนี้  เพื่อไม่ให้ Form BB_detail  รับข้อมูล
 [BB_detail].Form.AllowAdditions = False
 [BB_detail].Form.AllowEdits = False
 [BB_detail].Form.AllowDeletions = False
แต่มันยังกด command btt  ได้  จริงๆ  ผมอยากให้ Disable ทั้งหมด คือสั่งอะไรไม่ได้เลย
เมื่อเกิดเหตุการณ์    มีวิธีอะไรบ้างครับ

ใช้การกำหนด ControlType ครับเช่นต้องการให้ combobox , textbox , commandbotton ไม่ให้สามารถกดแก้ไขได้ ใช้ ctl.Enabled = false

โค๊ด: [Select]
Private Sub Form_Current()
Dim ctl As Control
  For Each ctl In Me
   If ctl.ControlType = acComboBox Then
       ctl.Enabled = False
       ctl.Locked = True
   End If
    If ctl.ControlType = acTextBox Then
       ctl.Enabled = False
       ctl.Locked = True
   End If
    If ctl.ControlType = acCommandButton Then
       ctl.Enabled = False
          End If
         Next ctl
    Forms![BB_detail].Form.AllowAdditions = False
    Forms![BB_detail].Form.AllowEdits = False
    Forms![BB_detail].Form.AllowDeletions = False
End Sub

ControlType แบบต่างๆ
   acBoundObjectFrame      Bound object frame   
   acCheckBox      Check box   
   acComboBox      Combo box   
   acCommandButton      Command button   
   acCustomControl      ActiveX (custom) control   
   acImage      Image   
   acLabel      Label   
   acLine      Line   
   acListBox      List box   
   acObjectFrame      Unbound object frame or chart   
   acOptionButton      Option button   
   acOptionGroup      Option group   
   acPage      Page   
   acPageBreak      Page break   
   acRectangle      Rectangle   
   acSubform      Subform/subreport   
   acTabCtl      Tab   
   acTextBox      Text box   
   acToggleButton      Toggle button   


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

364
ห้อง MS Access / : สอบถามเกี่ยวกับ report
« เมื่อ: 05 พ.ค. 63 , 08:18:09 »
สวัสดี ขอถามท่านอาจารย์ เกี่ยวกับการทำรายงานแบบมีเงื่อนไข คือผมอยากเลือกสาขา และ ระหว่างวันที่ หา วันที ครับ ช่วยหน่อยครับมือไหม่
ขอบคุณ ล่วงหน้าครับ

กำหนด เงื่อนไข ให้กับตัวรายงานครับ
สมมุติ Field สาขาชื่อ branch
        Field วันที่ชื่อ DateIn

การกำหนดสาขา ก็สามารถกำหนด Criteria ได้เลยเช่น "สาขา ก" รายงานก็จะแสดงข้อมูลเฉพาะสาขาก ขึ้นมา
ถ้าต้องการ กำหนด วันที่ แบบระหว่างวันที่ เริ่มต้นและวันที่สิ้นสุด กำหนด Criteria Between [StartDate] and [EndDate]

ถ้าต้องการเปิดรายงานโดยอ้างอิงการกำหนดเงื่อนไขบน textbox หรือ คอมโบบ๊อก ก็ใช้การอ้างอิงแบบนี้เช่น
การอ้างอิง สาขาสมมุติชื่อ Combobox1
กำหนดเงื่อนไข Field สาขาให้รายงานดังนี้
Forms![ชื่อฟอร์ม]![Combobox1]

ส่วนการกำหนดเงื่อนไขสำหรับวันที่นั้น ต้องมี Textbox 2 ตัวคือสำหรับกรอกวันที่เริ่มต้น(ชื่อ StartDate)  และวันที่สิ้นสุด(ชื่อ EndDate)
การกำหนดเงื่อนไข Field DateIn ก็จะใส่ Criteria ของรายงานแบบนี้
Between Forms![ชื่อฟอร์ม]![StartDate] and Forms![ชื่อฟอร์ม]![EndDate]

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

365
อันนี้ต้องขอความรู้จากอาจารย์สันติสุข
แต่ถ้าได้แล้วก็ดีเลยครับ
 :shout: :shout:
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

366
พอดีผมไม่มี SQL เทสที่เครื่อง แต่ถ้าเราใช้การแปลง เป็น Cstr ในกรณีเป็นข้อความ หรือพวก Cint  กรณีเป็นตัวเลข ก่อนนำไป Join กันว่าจะช่วยได้ไหม เช่น

โค๊ด: [Select]
SELECT Employee.ID, Employee.EmployeeCode, Employee.EmployeeName, CStr([EmployeeDivision]) AS EmployeeDivision1, CStr([EmployeeLocation]) AS EmployeeLocation1 FROM Employee WHERE (((CStr([EmployeeDivision]))=[forms]![Form1]![comboDivision]) AND ((CStr([EmployeeLocation]))=[forms]![Form1]![comboLocation]));
โดยในซัพฟอร์ม ตรงControlSource ใส่ EmployeeLocation1 กับ EmployeeDivision1 แทน
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

367
คงต้องรีโมทไปดูหน่อยแล้วครับ
Anydesk ไปเช็คได้ไหม
 :sweat: :sweat:
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

368
ลองดูครับแก้การ Join เป็น text แล้ว
ส่วนที่ต้องแก้คือ จำนวนคอลัมน์  ของ  comboDivision และ comboLocation จาก 2 แก้เป็น 1
ความกว้างคอลัมน์ จาก 0ซม.;5ซม. แก้เป็น 5ซม.



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

369
อ่อ เป็น varchar หรือครับที่มันไม่ยอมแสดงเพราะ Join Table Field number กับ text มันเลยไม่แสดง
เดี่ยวพรุ่งนี้ผมแก้ตัวอย่างให้นะ
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

370
ห้อง MS Access / : กำหนด Format ตัวเลข
« เมื่อ: 24 เม.ย. 63 , 15:47:22 »
ข้อมูล ยอดเงิน นั้นน่าจะเป็น Datatype text ครับ
ลองใส่
Format([B4], "#,##0.00" )
โพสต์นี้ได้รับคำขอบคุณจาก: Un

371
จบเคสนะครับ รีโมทไปแก้ให้แล้ว  :cool: :cool:
โพสต์นี้ได้รับคำขอบคุณจาก: Eakaluk Sansila

372
อาจารย์แนะนำทีครับผมควรทำใงครับ มันขึ้นฟ้องได้ แต่จะสามารถ เบิกได้ครับแลมีค่าติดลบอยู่

ผมสงสัยครับว่าคุณไปสร้างการลบตรงส่วนไหน
ถ้าเราใช้การเช็คแบบนี้
เราคงต้องแก้ไปเป็นแบบนี้
if me.TextAmt> me.Text_remain then
msgbox "คงเหลือไม่พอให้เบิก"
me.TextAmt = null
else
me.Text_remain = DSum("[จำนวน]","[รายการนำเข้าสินค้า]","[รหัสสินค้า]=" & [txt_รหัสสินค้า])-Nz(DSum("[จำนวนสินค้า]","[รายการสินค้า]","[รหัสสินค้า]=" & [txt_รหัสสินค้า]))
end if

ความน่าจะเป็นคือ
ถ้าไม่ผ่านเงื่อนไข

เมื่อรายการเบิกมากกว่าจำนวนที่มี ต้องแจ้งเตือนและให้แสดงรายการเบิกเดิมที่มีขึ้นมา และลบค่าที่กรอกใน TextAmt เพื่อให้กรอกค่าใหม่

ส่วนกรณีเงื่อนไขผ่าน
ก็ให้ทำการคำนวนค่าได้

ปล.ลบสูตรคำนวนที่ ControlSource ของ Text_remain ออกไปก่อนนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eakaluk Sansila

373
ผมลืมไปของท่าน ติด File dll ทำให้ไม่สามารถทำอะไรได้เลยครับ
คราวก่อนก็เป็น
โพสต์นี้ได้รับคำขอบคุณจาก: Eakaluk Sansila

374
ส่งตัวอย่างมาทาง inbox ผมดูให้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eakaluk Sansila

375
ทำบนฟอร์มหรือเปล่าครับ ที่จริงแล้ว ไม่ใช่แค่สินค้ามีค่าเป็น 0 นะครับ
วิธีการผมว่าน่าจะสร้างการเปรียบเทียบจำนวนคงเหลือ กับ จำนวนเบิกด้วย เช่น
สินค้าคงเหลือ = 3 แต่เบิก = 5 แบบนี้ก็ไม่ได้อยู่แล้ว มันติดลบ
ใช้ IF check ก็ได้เช่น

IF สินค้าเบิก > สินค้าคงเหลือ or สินค้าเบิก = "0" Then
msgbox "ไม่สามารถเบิกได้เกินจำนวนที่มีอยู่ คงเหลือปัจจุบัน" & สินค้าคงเหลือ & " อัน"
End if
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, OddyWriter, Eakaluk Sansila

376
ลองดัดแปลงเป็นแบบนี้ดูครับ
จากตัวอย่าง Field SortMonthNum เป็น Number นะครับ

โค๊ด: [Select]
Sub Search()
Dim strSearch As String
For Each varItem In Me!lstMonthSort.ItemsSelected
strSearch = strSearch & " Or SortMonthNum=" & "" & Me!lstMonthSort.ItemData(varItem) & ""
Next varItem
If Len(strSearch) = 0 Then
Me.frmqryHRDWH.Form.FilterOn = False
Else

strSearch = Right(strSearch, Len(strSearch) - 3)
Me.frmqryHRDWH.Form.Filter = strSearch
Me.frmqryHRDWH.Form.FilterOn = True
End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

377
ใช้ RecordsAffected เช็คครับเช่น


Private Sub Command6_Click()
Dim  SQL As String
Dim DB As DAO.Database
Set DB = CurrentDb

SQL = "INSERT INTO T1 ( Field1, Field2, Field3 ) SELECT Table1.Field1, Table1.Field2, Table1.Field3 FROM Table1;"
DB.Execute SQL

If DB.RecordsAffected <= 0 Then
   MsgBox "ไม่มีข้อมูลที่นำเข้า."
Else
MsgBox "นำเข้าจำนวน " & DB.RecordsAffected & " เรคคอร์ด", vbInformation, "Myprogram"
End If

set DB = nothing
End Sub

อันนี้คือตัวอย่าง Insert ลองดูกับ Delete และ Update ดูครับได้เหมือนกัน
โพสต์นี้ได้รับคำขอบคุณจาก: chai

378
แก้เป็นแบบนี้นะครับ

Private Sub Command6_Click()
Dim strTable, SQL As String
strTable = cbUpdateTable
SQL = "INSERT INTO " & strTable & " ( Field1, Field2, Field3 ) values (text1, text2, text3);"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
MsgBox "นำเข้าไปยังตาราง " & cbUpdateTable & " เรียบร้อยแล้ว"
End Sub


แก้ไขใหม่ครับ เขียนอ้างอิงต้องอ้างอิงจากtextbox บนฟอร์ม
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

หน้า: 1 ... 18 19 20 [21] 22 23 24 ... 32