แสดงกระทู้

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 2 3 [4] 5 6 7 ... 43
49
ห้อง MS Access / : ตรวจสอบนามสกุลไฟล์
« เมื่อ: 16 มี.ค. 64 , 12:53:25 »
เราจะตรวจสอบนามสกุลไฟล์
จากชื่อไฟล์ที่กำหนดใน text box ได้อย่างไรครับ

สร้างตัวแปรขึ้นมาแล้วใช้การกำหนดแบบนี้
สมมุติ textbox ชื่อ textboxName ไว้ระบุชื่อไฟล์

Dim getExtensionName As String
getExtensionName = Right$(textboxName, Len(textboxName) - InStrRev(textboxName, "."))
MsgBox getExtensionName

ในส่วนของ getExtensionName ก็จะได้นามสกุลไฟล์สามารถนำไปตรวจสอบขั้นต่อไปได้แล้วครับ

50
ให้อัพเดททุก Jobno
หรือเฉพาะ Jobno ที่ต้องการครับ


51
ห้อง MS Access / : รบกวนสอบถามครับ
« เมื่อ: 15 มี.ค. 64 , 14:58:56 »
แค่เปลี่ยนชื่อฟิลล์ก็ได้แล้วครับ

Private Sub CmdRun_Click()
Dim SQL As String
SQL = "SELECT [Bacode], [Description], [UnitPrice], [Date] INTO 123 FROM ABC;"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
End Sub

52
ลองดูครับ
อุตส่าห์อธิบายโจทย์ขนาดนี้พยายามทำให้ละกัน  :cool:

53
ห้อง MS Access / : transection table สอบถามค่ะ
« เมื่อ: 11 มี.ค. 64 , 10:19:48 »
ขอเสนอรูปแบบหนึ่งแบบนี้เผื่อเป็นตัวเลือกนะครับ
ก็คือ มีตาราง PriceHistory
มีฟิลล์
1.รหัสสินค้า
2.ราคาที่เสนอ
3.วันที่ระบุราคาใหม่ (เป็นแบบ date&time) กำหนด default Value = Now()
   เพื่อต้องการเก็บวันที่และเวลาในการระบุราคาเข้าไปด้วยเพื่อใช้ในการติดตามการเปลี่ยนแปลงของราคา
   เพื่อใช้ในการจัดเรียงตามวันที่และเวลา

โดยราคาจะแยกหมวดหมู่ตามรหัสสินค้าที่มีครับ

วิธีการทำงานก็คือ เมื่อมีการระบุราคาที่เสนอ  ใน order detail แล้ว ให้สั่ง Append รหัสสินค้า / ราคาที่เสนอ
ลงไปในตาราง PriceHistory ไว้ด้วย

54
ห้อง MS Access / : รบกวนสอบถามครับ
« เมื่อ: 11 มี.ค. 64 , 10:08:59 »
ใช้เครื่องหมาย [ และ ] ปิดหัวและท้ายครับ

Private Sub CmdRun_Click()
Dim SQL As String
SQL = "SELECT [Cmd Code], [Cmd Title], [Cmd Price], [Cmd Date] INTO 123 FROM ABC;"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
End Sub

55
ห้อง MS Access / : รบกวนสอบถามครับ
« เมื่อ: 10 มี.ค. 64 , 14:57:49 »
ผมมีตารางชื่อ ABC ดังนี้คับ
CmdCode     CmdTitle    CmdPrice    CmdSupName   CmdDate
11111111    AAAAAA         50          AAAAAAAAA    1/1/2021
22222222    BBBBBB       150          BBBBBBBBB    2/1/2021
33333333    CCCCCC         95          CCCCCCCCC    3/1/2021

ที่หน้าฟอร์ม ผมสร้างปุ่มชื่อ CmdRun
ผมจะใช้คำสั่ง Copy ตาราง ABC อย่างไรคับ
ให้เป็นตารางชื่อ 123 โดยเอาเฉพาะคอลัมภ์ CmdCode , CmdTitle , CmdPrice , CmdDate
รวมทั้งข้อมูลด้วยครับ รบกวนด้วยครับ
ขอบคุณมากครับ

ใช้ MakeTable Query ครับ
มันสามารถกำหนด ชื่อตารางที่จะสร้างได้ และ Field ที่ต้องการนำไปใช้ก็กำหนดเอาได้เลย

ตัวอย่าง
โค๊ด: [Select]
Private Sub CmdRun_Click()
Dim SQL As String
SQL = "SELECT CmdCode, CmdTitle, CmdPrice, CmdDate INTO 123 FROM ABC;"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
End Sub

56
แก้เป็นแบบนี้ครับ ในส่วนของ Import()

โค๊ด: [Select]
Sub Import()
    Dim strPath As String
    Dim strFile As String
    Dim strTable As String
    Dim StrFileName As String
    Dim strextensionNew As String
   
    strTable = "Table1"
    strPath = "D:\textfile\"
    strFile = Dir(strPath & "*.txt")
   
    Do While strFile <> ""
    StrFileName = strPath & strFile
    DoCmd.TransferText acImportDelim, "", strTable, StrFileName, False
    strextensionNew = Left(StrFileName, InStrRev(StrFileName, ".") - 1) & ".xxx"
   
    If Len(Dir$(strextensionNew)) > 0 Then
                Kill strextensionNew
    End If
    Name StrFileName As strextensionNew

    strFile = Dir(strPath & "*.txt")
    Loop
End Sub

57
อ้างถึง
อยากทราบอีกอย่างครับ
- หากจะต้องการใส่รูป ของนายA นายB หลังจากเลือกใน combobox แล้วให้โชว์ขึ้นมาเลย สามารถทำโดยใช้ข้อมูล txt ในตารางแล้วcopy ที่อยู่ไฟล์มา + ใส่control ก็จะได้เลยใช่มั้ยครับ (เคยลองทำแบบนี้แล้วมันไม่ขึ้นมาให้)


เช็ค path ว่าที่กำหนดนั้นสมบูรณ์หรือไม่ก่อนครับ
เพราะการกำหนด path จะต้องมีตำแหน่ง path  / ชื่อไฟล์รูป  / และนามสกุลไฟล์ด้วย

58
จากตัวอย่างลองเปิด form frmExpBooking ขึ้นมา
จะแสดง Jobno และรายละเอียดคร่าวๆ ของ Jobno นั้น

เวลาจะเข้าไประบุ truckNo ให้ดับเบิ้ลคลิกที่ เรคคอร์ดที่ต้องการ จะเข้าไปสู่หน้าของการระบุ truckno และรายละเอียดต่างๆครับ

ดูจากงานของท่านแล้ว ต้องศึกษาการทำ Normalization ก่อนเป็นอันดับแรกเลย
เพราะท่านรวบรวมข้อมูลต่างๆ ไว้ด้วยกันทั้งหมด ผมว่าไม่เวิคครับ

ลองดูจากตัวอย่างนี้ไปเป็นแนวทางในการปรับในส่วนอื่นๆก็ได้ครับ

59
อ้างถึง
ค้าอยากให้เพิ่ม PO Truck Number เป็นโมดูลใหม่เพื่อออกบิลให้ Supplier
วิธีในการออก PO Truck Number มีขั้นตอนการออกอย่างไร

อ้างถึง
ใครมีไอเดียที่สามารถใส่ เลขทะเบียนรถ ได้มากกว่า 1 คัน โดยไม่ต้องทำ Table แยกเป็น Truck 1/ Truck 2........ บ้างครับ
ไม่ต้องแยก Truck1 / Truck2
หรอกครับ
แต่ในตารางก็จะต้องมี
ตาราง Jobno ตารางนี้สร้างขึ้นมาไว้กำหนดรายละเอียดของ Job เช่น
JobNo
CustomerName
Tel
ฯลฯ

ส่วนตารางใหม่ที่น่าจะทำ
JobNo ไว้กำหนด RelationShip
TruckNumber ไว้กำหนดลำดับ Truck จะทำให้ Auto ก็ได้ หรือระบุเองก็ได้
TruckID  ฟิลล์นี้เก็บทะเบียนรถ

คุณสมบัติตารางเป็นแบบ Many
Jobno ต้องซ้ำได้

ข้อดีคือ ใน 1 Jobno มีรถกี่ค้นก็ได้เป็น 100 คันก็ได้ เพราะข้อมูลกำหนดเป็น Row ไม่ใช้ Column แบบที่คุณทำ


60
ที่ Cell A3 ใส่ IF เข้าไป
เช่น

=IF(A1>A2,"กำไร",IF(A1<A2,"ขาดทุน"))

แต่ฝากให้คิดเพิ่มนะครับ กรณี A1 และ A2 เท่ากันจะให้แสดงว่าอะไร  :miao:
สมมุติว่ามีก็จะใส่แบบนี้ได้เลย

=IF(A1>A2,"กำไร",IF(A1<A2,"ขาดทุน",IF(A1=A2,"เสมอตัว")))

61
ถ้าทุกๆตาราง มีฟิลล์ใน  textbox1a , textbox2a , textbox3a เหมือนกัน
ใช้แบบนี้ได้เลย

โค๊ด: [Select]
If Not IsNull(Me.comboboxSelectTable) Then
Forms("form1a").Form.RecordSource = Me.comboboxSelectTable
End If

62
ห้อง MS Access / : สอบถามการเขียนครับ
« เมื่อ: 08 มี.ค. 64 , 15:28:44 »
โค๊ด: [Select]
IF IsNull(CmbG) Then
Me.CmbG.SetFocus
Msgbox "CMBG ว่าง!!!"
Else
IF Not IsNull(Me.JobNo) Then
Msgbox "มีการกำหนด JobNo ไว้แล้ว"
Exit Sub
else
Me.JobNo = AutotxtID
End if
End if

แก้เฉพาะปุ่ม CommandBotton นะครับ

63
จากForm ในไฟล์ที่แนบไว้ครับ
ผมต้องการทำให้ เวลากดเลือก combo box อันแรก แล้ว combo box อันต่อไป ขึ้นมาให้เลือกตามเงื่อนไขที่เลือกไว้ใน combo box อันแรก ต้องเขียนคำสั่ง หรือต้องทำยังไงได้บ้างครับ

เช่น นายA และนายB อยู่ใน section 1 เมื่อผมเลือก section 1 ในฟอร์ม แล้วต้องการให้ customer-nm ขึ้นมาให้เลือกแค่ นายA หรือนายB ครับ (ไม่ให้ขึ้น นายC นายD นายE นายF เพราะอยู่คนละ section)

รบกวนผู้รู้หน่อยนะครับ ขอบคุณครับ

เวลาตั้งชื่อ control พยายามอย่าให้ใส่คำเฉพาะที่มีในโปรแกรม ให้ใส่ชื่อย่อของแต่ละประเภท Control 
คำว่า section เป็นชื่อส่วนหนึ่งของคำสั่ง
ถ้าเป็น combobox ก็ให้ใส่ Cb_Section หรือ cboSection เข้าไปเพื่อให้ไม่เหมือนกับคำสั่งในระบบครับ

ส่วนการที่จะให้รายการ ของคอมโบที่สองเปลี่ยนตามอันแรกก็ให้กำหนด Rowsource กำหนด Criteria ฟิลล์ที่เลือกในคอมโบ Criteria ด้วย

64
สามารถใช้ SourceObject ในการกำหนดให้ตารางต่างๆ มาแสดง
โดยจะมีฟอร์มหลักที่มี combobox หรือ Control อื่นๆ ไว้ในการเลือกชื่อตารางมาแสดง

โค้ดที่ปุ่ม Commandbotton เช่น

If Not IsNull(Me.comboboxSelectTable) Then
Forms("frmmain").Form.MySubFrm.SourceObject = "table." & Me.comboboxSelectTable
End If


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