แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 8
1
ขอบคุณคุณPNRมากๆเลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

2
รบกวนสอบถามการแปลงวันที่ใดๆก็ตามให้เป็นวันแรกของเดือนครับ เท่าที่หาเจอแต่ของ Excel จะได้สูตรประมาณนี้
=DATE(YEAR(A1),MONTH(A1),1)
ก็จะได้ว่า 12-2-2020 กลายเป็น 1-2-2020 คือเป็นวันแรกของเดือน
ต้องการผลลัพทธ์แบบนี้กับ access ใครทราบวิธีการรบกวนชี้แนะครับ

สมมุติฟิลล์วันที่ชื่อ Dates นะครับ

FirstDate: DateSerial(Year([Dates]),Month([Dates]),1)
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

3
สรุปรายงานวันนี้ก่อนนะครับ
1. คุณ Pookpuy สั่งหนังสือ ความทรงจำสีแดง ราคา 100 บาท (+ค่าส่ง 30 บาท) ส่งหนังสือให้แล้ว
2. คุณ PNR บริจาค 1,070 โอนแล้ว
3. คุณ Apirak สั่งหนังสือ Access 2010 Missing Manual ราคา 600 (+ค่าส่งลงทะเบียน 65 บาท) รับโอนเรียบร้อย ส่งแล้ว
4. คุณ Jee007 บริจาค 500 โอนแล้ว
5. คุณ Chai บริจาค 500 โอนแล้ว
6. คุณ Prajak บริจาค 200 โอนแล้ว
7. คุณ Looktarn สั่ง Excel เร็วเว่อร์ 299 (+ค่าส่ง 30) โอนแล้ว

ยอดรวม 3,269 บาท

เดี๋ยวจะโอนให้ Web Master ต่อไป โดยจากที่คุยกับเว็บมาสเตอร์คือ เมื่อจ่ายค่า Host+Domain จะแจ้งที่หน้าเว็บครับ

ขอบคุณทุกท่านที่ให้ความช่วยเหลือเว็บนี้ครับ

ปล. แก้ไขยอดโอนคุณ PNR และคุณ Looktarn

ได้รับเงินสนับสนุนจำนวน 3,269 บาทเป็นที่เรียบร้อย ขอขอบคุณทุกท่านมากๆเลยนะครับ :love:
กระผมจะดูแลรักษาเว็บนี้ให้ดีที่สุดเลยครับ :yuush:

  ค่าเช่าโฮส   
  ค่าโดเมน 
  คงเหลือ 
ยอดเงินสนับสนุน
  3,269 
  62-63    642.-    400.-    2,227 
  63-64    535.-    300.-   1,392 
  64-65    เตรียมพร้อม    300.-   1,092 
  65-66    ...    เตรียมพร้อม 

ปล.ขอปิดการโพสกระทู้ใว้เพียงเท่านี้นะครับผม :cool:


รายงานประจำปี 63-64 ได้รับคำขอบคุณจาก: chai, sjs, OddyWriter, PNR
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

4
โอนเงินให้ทางเว็บมาสเตอร์ไป 3,269 บาท เรียบร้อย

ดังนั้นปิดกระทู้นี้นะครับ อีก 3 ปี ค่อยหาตังค์ใหม่
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

5
ถึงตอนนี้ ยอดเงินน่าจะใช้ได้มากกว่า 2 ปี แล้วนะครับ

ดังนั้นขอปิดการขาย หรือรับบริจาคเพิ่มนะครับ โดยสรุปตอนนี้มีรายการดังนี้
1. คุณ Pookpuy สั่งหนังสือ ความทรงจำสีแดง ราคา 100 บาท (+ค่าส่ง 30 บาท) ส่งหนังสือให้แล้ว
2. คุณ PNR บริจาค 1,042 รอโอน
3. คุณ Apirak สั่งหนังสือ Access 2010 Missing Manual ราคา 600 (+ค่าส่งลงทะเบียน 65 บาท) รับโอนเรียบร้อย รอส่ง
4. คุณ Jee007 บริจาค 500 โอนแล้ว
5. คุณ Chai ขอบริจาค แจ้งเลขบัญชีไปแล้ว
6. คุณ Prajak ขอเลขบัญชี (ไม่รู้จะซื้อหรือบริจาค) แจ้งเลขบัญชีไปแล้ว
7. คุณ Looktarn สั่ง Excel เร็วเว่อร์ 299 (+ค่าส่ง??) แจ้งเลขบัญชีไปแล้ว

ขอบคุณผู้สนับสนุนทุกท่านครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

6
ช่วยบริจาค 1 ปี 1042 บาทครับ
วันที่ 12 นี้โอนให้นะ ขอเลข บัญชีไว้เลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

7
อ้างถึง
เลยใช้คำสั่ง
ให้ไป Setfocus ที่ปุ่ม แล้ว Sendkey {Enter} มันใช้ได้ดีเลยครับ ติดที่มันสั่ง
 Numlock

ใช้ Event  Enter ของปุ่มช่วยก็ได้ครับเช่น
สมมุติปุ่มชื่อ ShowMap
Private Sub ShowMap_Enter()
คำสั่งแสดงแผนที หรือคำสั่งที่ต้องการ
End Sub

ที่ปุ่มที่ต้องการกดก็สั่ง

Private Sub Command1_Click()
Call ShowMap_Enter
End Sub

ถ้าจะทำเงื่อนไขต่อไปเลยแบบไม่ต้องกดปุ่มอื่นๆ ก็ใช้
Call ShowMap_Enter
ได้เลยซึ่งเป็นการประยุกต์ใช้คำสั่งแทนการกด Enter เองได้เลย แบบนี้ทำให้ SendKey ไม่ต้องใช้อีก และไม่ต้องสั่ง setfocus ด้วย
หรือถ้าท่านสั่ง Setfocus ปุ่มShowMap      Event Enter ก็จะทำงานทันทีเช่นกันคับ โดยไม่ต้อง Call อีก
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

8
เพิ่มเติมต่อจากอาจารย์อีกหน่อยนะครับ

สมมุติตารางชื่อ Table1
Field ชื่อ  CusID,CusName,DocNumber,DocAddDate
Textbox ชื่อ txtFindCusID / txtFindCusName /  txtFindDocNum / txtFindDocAddDate
Form ในการค้นหา ชื่อ frmSearchCustomer
โค๊ด: [Select]
Private Sub Command40_Click()
Dim StrFilter1, StrFilter2, StrFilter3, StrFilter4 As String
Dim GroupFilter As String

'กำหนดเงื่อนไขให้กับตัวแปรว่าถ้ามีข้อมูลจะนำ Where Clause นี้มาต่อประโยคใน Sql
If Not IsNull(Me.txtFindCusID) Then
StrFilter1 = "(((Table1.CusID)=[forms]![frmSearchCustomer]![txtFindCusID])"
End If
If Not IsNull(Me.txtFindCusName) Then
StrFilter2 = "(((Table1.CusName)=[forms]![frmSearchCustomer]![txtFindCusName])"
End If
If Not IsNull(Me.txtFindDocNum) Then
StrFilter3 = "(((Table1.DocNumber)=[forms]![frmSearchCustomer]![txtFindDocNum])"
End If
If Not IsNull(Me.txtFindDocAddDate) Then
StrFilter4 = "(((Table1.DocAddDate)=[forms]![frmSearchCustomer]![txtFindDocAddDate])"
End If

'นำเงื่อนไขที่ได้จากด้านบน มาต่อประโยคกัน
GroupFilter = IIf(StrFilter1 = "", "", StrFilter1) & IIf(StrFilter2 = "", "", StrFilter2) & IIf(StrFilter3 = "", "", StrFilter3) & IIf(StrFilter4 = "", "", StrFilter4)

'ใช้ Replace เพื่อใช้ And ต่อเงื่อนไขใน Where Clause
GroupFilter = Replace(GroupFilter, ")(((", ") and ((")

'นำประโยคที่ได้มากำหนด RecordSource
If IsNull(Me.txtFindCusID) And IsNull(Me.txtFindCusName) And IsNull(Me.txtFindDocAddDate) And IsNull(Me.txtFindDocNum) Then
Me.RecordSource = "Select * from table1;"
Else
Me.RecordSource = "Select * from table1 where " & GroupFilter & ");"
End If
End Sub

ข้อดีคือ  สามารถเลือกค้นหาข้อมูลได้ทุก textbox ที่อยากค้นและ เราใช้การสร้าง RecordSource แค่อันเดียว เพราะ Sql ที่ได้มาจากการสร้างเงื่อนไขค้นหาด้านบนไว้หมดแล้ว
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

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

10
ลองดูตัวอย่างนี้นะครับ
สร้าง ปุ่มขึ้นมา 1 ปุ่มใส่คำสั่งนี้เข้าไป ตารางชื่อ T1 Field ชื่อ F1
สีแดงคือชื่อของ CommandBotton ครับ Event เมื่อคลิ๊ก


Private Sub Command0_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE T1 SET T1.F1 = Null;"
DoCmd.SetWarnings True
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

11
เรียนอาจารย์

         ผมต้องการทำปุ่มCMD  เพื่อลบข้อมูลที่พิว F1 ลบทุกRecord คือลบเฉพาะพิวนี้นะครับ ที่ตาราง T1 จะเขียนคำสั่งยังไงครับ
เข้าใจว่าน่าจะเป็น SQL  Update หรือเปล่าครับ ลบกวนแนะนำด้วยครับ

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

12
รบกวนสอบถามครับ ถ้าในคิวรี่มี่2ฟิวด์คือ ฟิวด์A กับฟิวด์B
ต้องการให้ที่ฟิวด์B = ฟิวด์A ลบ(-) ฟิวด์Aของrecordก่อนหน้า ต้องใช้สูตรยังไงครับ

ถ้า อันล่างลบอันบน น่าจะประมาณนี้ครับคุณประจักษ์

โค๊ด: [Select]
SELECT Table1.ID, Table1.Item, Table1.A, DLookUp("[A]","Table1","[ID]=" & [ID]-1)-NZ([a],0) AS B
FROM Table1;

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

13
ห้อง MS Access / : สอบถามคำสั่ง Docmd.Movesize
« เมื่อ: 10 ม.ค. 62 , 14:40:03 »
ที่ คุณสมบัติฟอร์ม FrmDbLine2_Eng1
เป็นแบบนี้หรือยังครับ


ใส่เป็น

  DoCmd.MoveSize 30000, 0, 0, 0

เลยครับ  :cool: :cool:
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

14
ห้อง MS Access / : การใช้คำสั่ง iifซ้อน iif
« เมื่อ: 11 ธ.ค. 61 , 11:50:48 »
ปัญหาการใช้ Expression จะมี 2 อย่างครับ คือ 1. พิมพ์ตัวอักษรมากเกินไป จำไม่ได้แล้วเท่าไหร่แต่ก็มากอยู่ 2. ใช้นิพจน์ซ้อนกันเกินประมาณ 13 ตัวมั้ง จำตัวเลขไม่ได้
ปัญหาของกระทู้นี้คือใช้นิพจน์ซ้อนกันเยอะเกินไป ไม่ว่าจะเป็น IIf ซ้อน IIf หรือใช้ฟังก์ชั่น Switch() ก็ไม่สามารถซ้อนกันเกินได้ จึงต้องใช้การแยกฟิลด์ไม่ให้เกินครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

15
ห้อง MS Access / : การใช้คำสั่ง iifซ้อน iif
« เมื่อ: 11 ธ.ค. 61 , 08:48:20 »
น่าจะเกิดจาก ความยาว หรือจำนวนอักขระ มากเกินไปครับ เวอร์ชั่นเก่า ยิ่งจำกัดแค่ 255 ตัวอักษร
แนะนำให้เขียนฟังชั่นใช้เองดีกว่าครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

16
ห้อง MS Access / : การใช้คำสั่ง iifซ้อน iif
« เมื่อ: 10 ธ.ค. 61 , 17:06:21 »
ใช้ MS Access เวอร์ชั่นอะไรอะครับ ทำไมเหมือนใส่ได้น้อยจัง เหมือนกับมันใส่อักษรเกินที่ Textbox มันรับได้ป่าวครับ ถ้าใช่ให้แก้โดยแบ่งครึ่งเงื่อนไขครับ เช่น
a: IIf(Not IsNull([Eff20]),[Eff20],IIf(Not IsNull([Eff19]),[Eff19],Null)) ไปเรื่อยๆ จนสุดที่ใช้ได้
สร้างอีกฟิลด์
b: IIf(IsNull([a]),IIf(Not IsNull([Eff18]),[Eff18],Null),[a]) ไปเรื่อยๆ อีก ถ้ายังไม่หมดก็ต่ออีกฟิลด์ แล้วเราก็เอาฟิลด์สุดท้ายไปใช้งานครับ พอนึกภาพออกไม๊ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

หน้า: [1] 2 3 4 ... 8