แสดงกระทู้

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
17
DAO  ผมชอบใช้เพราะมี Index and seek ให้ใช้ ลองดู index , seek เพิ่มเติมด้วยครับ
ในเว็บมีหลายกระทู้ที่พูดถึง
ตัวอย่าง
https://www.thai-access.com/index.php?topic=629.0
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

18
วิธีการใช้ Left,Mid,Right เพื่อดึงค่าออกมาโดย Left ดึงจากทางซ้าย > ,Mid ก็ดึงจากทางซ้ายแต่มีการเว้นระยะก่อนดึง -- > ,Right ดึงจากทางขวา <

ตัวอย่าง ตัวแปล ABC มีค่า 123456789
Left([ABC ],2)     = 12     / ดึงค่าจากซ้ายสุดมา 2ตัว
Mid([ABC ],3,2)   = 34     / ดึงค่ามาโดยตัวแรกคือตัวที่ 3นับจากซ้ายแล้วนับไปต่ออีก 2ตัว
Mid([ABC ],5,3)   = 567   / ดึงค่ามาโดยตัวแรกคือตัวที่ 5นับจากซ้ายแล้วนับไปต่ออีก 3ตัว
Right([ABC ],2)   = 89     / ดึงค่าจากขวาสุดมา 2ตัว

ตัวอย่าง ท่าน PNR จะใช้ Cdate() เพื่อแปลงตัวเลขให้เป็นวันที่ แต่โดยปรกติตัวแปลวันที่จะมี / คั่นอยู่ท่านจึงใช้ Left,Mid,Right เพื่อแยกตัวแปลแล้วใส่ & "/" & เข้าไปคั่นใว้ดังนี้
ตัวแปล [วันที่ วว/ดด/ปป] เก็บค่า 010164 เมื่อใช้ Left([วันที่ วว/ดด/ปป],2) & "/" & Mid([วันที่ วว/ดด/ปป],3,2) & "/" & Right([วันที่ วว/ดด/ปป],2) = 01/01/64 แปลงเสร็จระบบก็ยังคือเป็นข้อความธรรมดาแค่มี / คั่นอยู่แต่สามารถเอาไปให้ Cdate() บอกว่ามันคือวันที่โดย Cdate(ค่อม...ใว้) (จาก 010164 ตอนนี้ระบบมองออกแล้วว่าเป็นวันที่1 เดือน1 ปี64)

ที่นี้มีต่ออีกว่าถ้าอยากให้มันแสดงผลออกมาเป็นอย่างอื่นเช่น 1 มกราคม 64 , มกราคม 2564 , 01/01/64 อีกที่ล่ะได้ใหม?
คำตอบคือได้โดยใช้ Format() เพื่อนำค่าออกมาแสดงผลในรูปแบบที่เราต้องการเพราะจากที่เราใช้ Cdate() ไปนั้นระบบรู้แล้วว่าตัวไหนคือวันเดือนปีเช่น
Format(CDate(.....),"mmm yy")   = ม.ค. 64
Format(CDate(.....),"mmmm yyyy")   = มกราคม 2564
Format(CDate(.....),"dd/mm/yy")      = 01/01/64

แบบงวดภาษี มกราคม 64
= "งวดภาษีเดือน" & " " & Format(CDate(Left([วันที่ วว/ดด/ปป],2) & "/" & Mid([วันที่ วว/ดด/ปป],3,2) & "/" & Right([วันที่ วว/ดด/ปป],2)),"mmmm yy")

แบบงวดภาษี มกราคม 2564
="งวดภาษีเดือน" & " " & Format(CDate(Left([วันที่ วว/ดด/ปป],2) & "/" & Mid([วันที่ วว/ดด/ปป],3,2) & "/" & Right([วันที่ วว/ดด/ปป],2)),"mmmm yyyy")

สรุปขั้นตอน*โดยต้องใช้ให้ครบ
1.ใช้ Left,Mid,Right หั่นตัวเลขออกมาเป็นส่วนๆแล้วใส่ / เข้าไปคั่นใว้
2.ใช้ Cdate() แปลงค่าจากข้อความ,ตัวเลขธรรมดาให้ระบบคิดว่าเป็นวันที่(โดยข้อความต้องมี / คั่นอยู่ก่อนแปลง)
3.ใช้ Format() นำค่าออกมาแสดงผลในรูปแบบที่เราต้องการเช่น d m yy , dd/mm/yy , mmmm yyyy , mmm d yyyy เป็นต้น

*หมายเหตุ สิ่งที่จะเอาไปให้ Cdate() แปลงเป็นระบบวันที่ได้ดีควรจะต้องมี3ส่วนดังนั้นจากที่
ดด/ปป ใน criteria เป็น 0164 ผลลัพธ์ ได้ มิถุนายน 2443
ผมจึงใส่วันที่ 01 เพิ่มเข้าไปให้ Cdate() ทำงานได้อย่างเต็มรูปแบบ
="งวดภาษีเดือน " & Format(CDate("01/" & Left([งวดภาษี ดด/ปป],2) & "/" & Right([งวดภาษี ดด/ปป],2)),"mmmm yyyy")
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

19
update นะคะ

ตอนนี้แก้ได้แล้วค่ะ เรื่องของเรื่องเนี่ย เหมือนว่าเวลาคำนวณมันจะมีช่องที่เป็น 0 อยู่ เพราะคำนวณพร้อมกัน แล้วก่อนหน้านี้มีโค้ดให้ save record ก่อนค่ะ ทำให้เวลาsave ไปแล้วค่าตัวอื่นมันรีเซ็ทใหม่มันเลยกลายเป็น 0 แล้ว 0 เนี่ยมันก็เอามาหารไม่ได้มันเลยขึ้น error ค่ะ ซึ่งวิธีแก้นะคะ ก็คือต้องลำดับcode ใหม่ ให้โปรแกรมมันคำนวณให้เสร็จก่อนแล้วค่อยsave ค่ะ เพราะที่มันจะได้ไม่เอา 0 มาหาร  :zzz:

ยังไงก็ขอบคุณ คุณ PNR มากนะคะที่มาตอบ ได้คิดอะไรหลายอย่างเลยค่ะ  :fake smile:
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

20
ขอรบกวนอีกครั้งครับท่านอาจารย์
ผมอยากให้เลขทีใบบินขิ้นปีบวกเดือนและเลขที เวลาเรากดปุ่มเพี่มใหม่ครับ พอถืงปีใหม่ให้เลี่มเลขทีใหม่ครับ
กระทู้และไฟล์ตัวอย่างครับ > อยากได้ตัวอย่าง access การทำ running number แบบ ปี เดือน รันเลข 3 ตำแหน่ง มือใหม
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

21
อุ๊ย! อุตส่าห์แอบดูเงียบๆ อยู่มุมห้อง :smile:
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

22
ขอบคุณครับ ที่ data type ทีแรกของผมเป็น Currency ครับ แต่พอเปลี่ยนเป็น Text แล้วก็ตรงกันครับขอบคุณนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

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

24
&feature=youtu.be
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

25
ลองที่ให้มา ไม่ได้ครับ แต่คุ้นผมเคยทำไว้ที่ Excel ตอนนี้ทำได้แล้วครับโดยใช้แบบนี้ครับ
1*** วางไว้ใน Module
#If Win64 Then
    Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
        Alias "PlaySoundA" (ByVal lpszName As String, _
        ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean
#Else
    Private Declare Function PlaySound Lib "winmm.dll" _
        Alias "PlaySoundA" (ByVal lpszName As String, _
        ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
#End If
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Function SoundMe() As String
'Updateby Extendoffice 20161223
    Call PlaySound("c:\windows\media\policesiren.WAV", _
      0, SND_ASYNC Or SND_FILENAME)
    SoundMe = ""
End Function

2**** วางที่โค้ดต้องการให้ดัง
 Dim wisroot As String
  Dim str1 As String
 
wisroot = Me.[QRCode].Value
  str1 = "[QRCodePCB]=" & "'" & wisroot & "'"
 
  If Me.[QRCode] = DLookup("[QRCodePCB]", "dbo_Laser40241CA", str1) Then
  SoundMe
  MsgBox "ข้อมูลซ้ำกัน กรุณาตรวจสอบ"
  Me.Undo
  Else
    End If
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

26
ผมแก้ไขได้แล้วครับ โดยโหลดตัว MSOUTL.OLB ไปวาง Program Files (x86)Microsoft Office2007Office12

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

27
เอา query ที่ทำได้ไปหาค่า max แล้ว group by id ,name ได้ไหมแบบนี้
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

28
ก่อนอื่นต้องขอขอบคุณอาจารณ์ทุกท่านนะครับ ที่ได้แก้ไขปัญหาต่างๆ ในการทำ Code  ....
สำหรับโพสนี้ ก็หวังว่าท่านที่ต้องการทำแบบผม กำลังมองหาวิธีการต่างๆนานา (เหมือนผม)
จะได้รับประโยชน์ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

29
ังั้นแก้เป็นแบบนี้

โค๊ด: [Select]
Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
Cancel = ([Page] <> [Pages])
End Sub

ให้ยกเลิกการแสดง ถ้าไม่ใช่หน้าสุดท้าย

ว้าวววว  สุดยอดเลยอาจารย์ รักอาจารย์จริงๆ

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

30
ใช้ Query ครับ
การใช้ Dlookup ก็เหมือนการทำ Select Query
Dlookup 1 ครั้ง ก็เหมือนทำ Query 1 ครั้ง

ถ้า Looping ก็ทำ Query ตามจำนวนรอบเลยครับ

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

31
ห้อง MS Access / : Window10+Access2003 Missing COMDLG32.OCX
« เมื่อ: 03 พ.ย. 63 , 15:58:26 »
ได้แล้วนะครับ  ขอบคุณพี่มาก  ตัวติดตั้ง  VisualBasic6-KB896559-v1-ENU
ไม่งั้นผมคง งม  อีกนาน  ขอบคุณครับ
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

32
ขอบคุณสำหรับคำตอบและการช่วยเหลือด้วยนะคะ
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

หน้า: 1 [2] 3 4 5