แสดงกระทู้

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 - ปิ่นณรงค์

หน้า: 1 2 3 4 [5] 6 7 8 ... 21
73
ที่จริงฟอร์ม ต้นฉบับหรือ ฟอร์มสำเนา ไม่ต้องเปิดขึ้นมาเพื่อจะพิมพ์ก็ได้คับ
ผมสมมุติ ฟอร์มต้นฉบับชื่อ Frm_original
           ฟอร์มสำเนาชื่อ Frm_Copy

คำสั่งที่จะนำไปวางที่ Event ที่ต้องการคือ
โค๊ด: [Select]
Private Sub BtnPrint_Click()

    DoCmd.SelectObject acForm, “Frm_original”, True
    DoCmd.PrintOut , , , , 1
    DoCmd.SelectObject acForm, “Frm_Copy”, True
    DoCmd.PrintOut , , , , 1

End Sub
เท่านี้ก็จะทำการปริ้น ทั้ง 2 ฟอร์ม โดยไม่ต้องเปิดฟอร์มขึ้นมาก็ได้คับ
หมายเหตุ ตรง DoCmd.PrintOut , , , , 1  การกำหนดจำนวนว่าจะปริ้นกี่แผ่นนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, sjs

74
SELECT Table1.Field1, Table1.Field2, *
FROM Table1
WHERE ((([Field1] & [Field2]) Not In (select [Field1] &[Field2]   from [Table2])));

ถ้า Field 1 และ Field 2 Table 2 มีข้อมูลที่เหมือนกับ Field 1 และ Field 2 ของ Table 1 จะไม่นำมาแสดงครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

75
การที่นำตาราง2ตารางมาคิวรี่ โดยที่เอาแถวที่ซ้ำกันออก ระหว่าง2ตารางออกไปเลย แล้วแสดงข้อมูลที่ไม่ซ้ำ โดยยึดTable1 เช่น!!

Table1               Table2            ผลลัพธ์Query
--------              --------           ------------
    1                       1                      3
    2                       2
    3                         

กำหนดให้ไม่เอาข้อมูลของ table1 ที่มีเหมือนกับ Table2 โดย Check จากตัวอย่างชื่อ Field1  ของ table1 และ table2

SELECT Table1.Field1, *
FROM Table1
WHERE (((Table1.Field1) Not In (select [Field1] from [Table2])));
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang, Are Karn

76
Event Docmd.Close form ต้องลบออก เพราะ Event ฟอร์มลงรายการมีการอ้างอิง ฟอร์มที่ระบุ ปีและเดือน ครับ
ผมได้แก้ไขและเพิ่มบางส่วนให้ส่งไปทางไลน์แล้วนะคับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

77
แบบนี้ก็ได้ครับ  :love:

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

78
1.
คือตอนนี้ผมใช้คิวรี่
Between DateValue([Forms]![TableReport]![BeginDate]) And DateValue([Forms]![TableReport]![EndDate])

จากเริ่มวัน ถึงวันที่ คือเลือกช่วงเวลา
ผมอยากจะรู้ว่ามันเป็นจำนวนกี่วัน จะทำยังไงครับผม

2.
ผมมีช่องอีกช่องที่เป็นช่องเลือกวันที่อัตโนมัติของมันเอง ที่ให้กดรูปปฏิฑิณ มันก็จะแสดงวันเดือนปี ที่ต้องการจะสั้นจะยาวก็ตามที่เราเซ็ต
แต่จะทำยังไงให้มันแสดง วัน ด้วยครับ เช่น จันทร์ อังคาร อะไรแบบนี้ครับ

ขอบคุณครับ


ข้อที่ 1 อยากแสดงที่ส่วนไหนครับ ถ้าจะแสดงในคิวรี่ เพิ่ม Field ขึ้นมาอีกอัน ใส่
โค๊ด: [Select]
TotalDay: DateDiff("d",([Forms]![TableReport]![BeginDate]),([Forms]![TableReport]![EndDate]))
ถ้าอยากให้แสดงในฟอร์มดูตัวอย่างตามไฟล์แนบนะครับ ใช้ 7Zip แตกไฟล์





ข้อที่ 2 อยาก Format 1/1/2562 เป็น วันจันทร์ ที่ 1 มกราคม 2562  ในช่อง Format ใส่คำสั่งนี้เข้าไป
โค๊ด: [Select]
"วัน"dddd" ที่ "d mmmm yyyy
โพสต์นี้ได้รับคำขอบคุณจาก: ittiphol

79
ลองดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

80
ผมต้องการจะสร้างฟอร์มคีย์ข้อมูลเอกสาร โดยเมื่อเปิดตามปี และเดือน ที่ต้องการ ทุกครั้งที่มีการคีย์เข้าตามปีและเดือนนั้นๆ อยากให้ระบบรันลำดับออโต้ครับ รายละเอียดดังนี้นะครับ

Table1 มีฟิลด์ดังนี้
Years (ชนิดข้อมูล Text)
Months (ชนิดข้อมูล Text)
Sequence (ชนิดข้อมูล Text)
DocNo  (ชนิดข้อมูล Text)

ต้องการสร้างฟอร์ม โดยในฟอร์มมีรายละเอียดดังนี้
Years (เป็น ComboBox)
Months (เป็น ComboBox)
ปุ่ม (เป็น Button) เมื่อกดปุ่มจะเปิดฟอร์ม frmDocDetail
ซึ่งฟอร์ม frmDocDetail จะมีรายละเอียดฟิลด์ต่างๆใน Table 1 โดยฟอร์มนี้เมื่อเปิดมาจะเรียง Sequence ให้ด้วยครับ และทุกครั้งที่มีการคีย์ข้อมูลเข้าฟอร์มนี้ Sequence จะรันลำดับให้ออโต้ครับ

ไม่ทราบว่าต้องทำอย่างไรบ้างครับ ขอบคุณมากครับผม
frmDocDetail  เป็นแบบContinues Form ใช่ไหมคับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

81
จำเป็นไหมว่าเป็น textbox Combobox ได้ไหม

ไม่จำเป็นคับอาจารย์ ถ้าเป็น  textbox Combobox  รู้สึกมันจะเก็บข้อมูลได้น้อยอะคับ คือผมจะเอาไว้เก็บรายชื่อลูกค้า เวลาที่ซ้ำกัน พิมพ์ปุ๊บก็ อ๋อรู้เลยว่ามีแล้วในระบบอะคับ

combobox กำหนด Rowsouce เอาคับ ไม่น้อยนะครับ อีกอย่างมันมีฟังชั้น Dropdown อยู่แล้ว และมีการกรองข้อมูลเมื่อพิมฟ์ไปให้ทันทีคับ
ส่งตัวอย่างข้อมูลมาทางข้อความผมลองทำให้
โพสต์นี้ได้รับคำขอบคุณจาก: gamethaita

82
จำเป็นไหมว่าเป็น textbox Combobox ได้ไหม
โพสต์นี้ได้รับคำขอบคุณจาก: gamethaita

83
ในไมโครซอฟ Access เวลากรอกข้อมูลต้องการให้ จำคีย์เวิร์ดที่เคยพิมพ์ไปแล้ว ข้อมูลคล้ายของเดิมขึ้นมา ทำยังงัยคับ
รบกวนผู้รู้  หรือเรียกว่าการเติมคำอัตโนมัติคำที่เคยพิมพ์เอาไว้แล้วคับ ไงทิ้งเบอร์โทรให้ผมด้วยไว้ให้ผมติดต่อกลับด้วยคับ ขอบคุณมากๆคับ


ผมขอยกตัวอย่างนะคับ สมมุติ ช่องที่เคยกรอกข้อมูลว่า พัทยา
พอเราพิมพ์ คำว่า พัท   มันก็จะหาคำที่ใกล้เคียงในฐานข้อมูลขึ้นมากให้เลยอะคับ  ทำให้ไม่ต้องเสียเวลาพิมพ์ใหม่เต็มๆคับ








ถ้าทำแบบ DIY ท่านก็แค่สร้าง table Temp ไว้เก็บค่าที่ต้องกรอกลงไป ไปเก็บไว้ในตาราง Temp ตัวกรอกข้อความให้แสดงแบบนั้นได้ก็ใช้ Combobox กำหนดให้เพิ่มรายการค่าได้ ลองดูตัวอย่างนี้คับ
โพสต์นี้ได้รับคำขอบคุณจาก: gamethaita

84
ถ้าต้องการทำการเบิกแบบเลือกหลายรายการเพื่อให้ลิ้งค์ไปยังฟอร์มการเบิกสามารถทำได้ยังไงค่ะ ในโปรแกรม access
ออกแบบหน้าตาฟอร์มไว้แบบไหนครับ ถ้าเลือกหลายๆรายการ คุณอาจจะสร้างListbox เพื่อทำการเลือกรายการ(Multi Select) ได้คับ

การล็อคอินเข้าaccess ให้ผลต่างกันเช่น ยูสเซอร์แอดมินสามารถเข้าได้ทุกฟอร์ม ส่วนยูเซอร์ที่ไม่ใช่แอดมิน เข้าได้แค่ฟอร์มการค้นหาและฟอร์มการเบิกค่ะ

คุณอาจจะสร้าง ตาราง User ขึ่นมา และมี Field พวก UserName , Password , Permisions
ตรงส่วนของ Permisions นั้น เราจะกำหนดสิทธิ์ในการเข้าถึงฟอร์มต่างๆ คอนโทรล ต่างๆ ได้คับ
เช่น กำหนด สิทธิ์ไว้ 2 แบบ Admin และ User โดยกำหนด ให้หลังล๊อกอิน แล้วให้มีการเช็คสิทธิ์ของ User
โดย ถ้าไม่มีสิทธิ์ปุ่มเปิดฟอร์มนั้นจะไม่สามารถกดได้ หรือถ้าอยากซ่อนไว้ก็ใส่ Botton.visible = false แทน Botton.Enabled = false นะครับ
ส่วนตัวอย่างคำสั่ง การเช็คสิทธิ์
สมมุติ textbox ที่กรอก Username ชื่อ UserBox
       Table Field UserName , Password , Permissions
       กำหนดตัวแปลเก็บค่า ชื่อ ChkPermissions

Dim ChkPermissions as String
ChkPermissions = DLookup("[Permissions]", "User", "[UserName]='" & Me.UserBox & "'")
Select Case ChkPermissions
Case "Admin"
   BtnSearch.enabled = true
   BtnWithdraw.Enabled = true
   BtnEtc.Enabled = true
   Btn บลาๆๆๆ.Enabled = true
Case "User"
   BtnSearch.enabled = true
   BtnWithdraw.Enabled = true
   BtnEtc.Enabled = False
   Btn บลาๆๆๆ.Enabled = False
End Select

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

85
ใส่เป็น
โค๊ด: [Select]
TotalAmount: CDbl(DSum("[TotalAmount]","QProBudget2","[Year_only]='" & [Year_only] & "' AND [Mon_only]= '" & [Mon_only] & "' AND [BUYER]= '" & [Customer_Name] & "'"))
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

86
ยินดีครับ thai access บอร์ดแห่งการแชร์ประสบการณ์ การแบ่งปันและการเรียนรู้ครับ ผมเริ่มจากไม่เป็นเลยได้เรียนรู้จากบอร์ดนี้แหละครับ จนพอที่จะแนะนำได้บ้าง :meaw:
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, Un, mbbrid, SakDa, aek, apirak

87
ของ Weight_ChgRate ถ้า >20 กำหนดราคาเดียวคือ 20 ก็ใส่แบบนี้แทนนะคับ

โค๊ด: [Select]
Weight_ChgRate: IIf([Weight_Chg] Between 1 And 2,"1") & IIf([Weight_Chg] Between 3 And 4,"3") & IIf([Weight_Chg] Between 5 And 9,"5") & IIf([Weight_Chg] Between 10 And 14,"10") & IIf([Weight_Chg] Between 15 And 19,"15") & IIf([Weight_Chg]>=20,"20")
ส่วนการคำนวนต่อไปถ้าติดตรงไหนบอกได้นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: apirak

88
คำตอบข้างบนนะครับ
วิธีการคือ การคำนวนน้ำหนัก และการคิดราคา Zone ราคาต่างกัน และ น้ำหนักมีช่วงของน้ำหนัก เลยใช้การ Group น้ำหนัก เพื่อให้เปรียบเทียบกันได้ ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: apirak

89
ใช้การกำหนด Zone โดยใช้ Dlookup ครับ
Copy SQL นี้ไปวางทับ แล้วรันดูครับ

ถ้าจะให้แสดง Rate โดย กำหนดให้ตรวจสอบ Zone และช่วงของ Weight ต้องเหมือนกันใส่แบบนี้ครับ
โค๊ด: [Select]
SELECT tbl_DLV.ID, tbl_DLV.Weight_Chg, tbl_Area.Zone, tbl_DLV.Total_Exception, tbl_DLV.VAS, tbl_Remote.Amount, Nz([Total_Exception])+Nz([VAS])+Nz([Amount]) AS Audit, IIf([Weight_Chg] Between 1 And 2,"1") & IIf([Weight_Chg] Between 3 And 4,"3") & IIf([Weight_Chg] Between 5 And 9,"5") & IIf([Weight_Chg] Between 10 And 14,"10") & IIf([Weight_Chg] Between 15 And 19,"15") & IIf([Weight_Chg]=20,"20") AS Weight_ChgRate, IIf([Zone]="BKK",DLookUp("BKK","tbl_Rate","Weight = " & Nz([Weight_ChgRate],0))) & IIf([Zone]="UPC1",DLookUp("UPC1","tbl_Rate","Weight = " & Nz([Weight_ChgRate],0))) & IIf([Zone]="UPC2",DLookUp("UPC2","tbl_Rate","Weight = " & Nz([Weight_ChgRate],0))) AS Rate
FROM tbl_Remote RIGHT JOIN (tbl_Area RIGHT JOIN tbl_DLV ON tbl_Area.Postal_Code = tbl_DLV.Postal_Code) ON tbl_Remote.Postal_Code = tbl_DLV.Postal_Code;

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

90
สร้างไฟล์ AutoNumber ขึ้นมา เพิ่ม 1 ฟิลล์ครับ ตั้งชื่อว่า NO
แล้วที่คิวรี่ใส่โค้ดนี้ไป
โค๊ด: [Select]
SELECT Table1.Code, Table1.Des, Table1.Run, Table1.Run+(select nz(sum(T2.Run),0) from Table1 as T2 where T2.Code = Table1.Code and T2.Des = Table1.Des and  T2.No < Table1.No) AS ผลรวม
FROM Table1;
โพสต์นี้ได้รับคำขอบคุณจาก: mbbrid

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