แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 7
1
โทษทีครับ พอดีไม่ได้อ่าน ขอบคุณ คุณ UnKnow ครับ ที่ช่วยตอบ
แก้บรรทัดนี้ครับ
โค๊ด: [Select]
tDay(o, iCount) = cThaiNumber(Day(i)) & " " & MonthNameThai(i) & " " & cThaiNumber(IIf(Year(i) = Format(i, "yyyy"), Year(i) + 543, Format(i, "yyyy")))
เป็น
โค๊ด: [Select]
tDay(o, iCount) = cThaiNumber(Day(i)) & " " & MonthNameThai(i) & " " & cThaiNumber(IIf(Year(i) = Val(Format(i, "yyyy")), Year(i) + 543, Format(i, "yyyy")))
ใส่ฟังก์ชั่น Val() ลงไป เพราะสองค่ามันเป็น Data Type คนละอย่าง อันนึงเป็นตัวเลข อันนึงเป็นตัวอักษร เลยเทียบค่าแล้วไม่เท่ากัน ฟังก์ชั่น Val() จะตัดคำทั้งหมดทางขวาที่เป็น String ออก ให้เหลือแต่ตัวเลข แล้ว Return ค่ากลับมาเป็น Number จึงจะเทียบค่าตัวเลขกันได้ครับ
เปลี่ยนอย่างนี้ไม่ว่าเครื่องจะกำหนดปีเป็น ค.ศ. หรือ พ.ศ. ก็จะใช้ได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

2
เห็นคำถามนี้น่าสนใจตรงเราสามารถใช้งานตัวแปรอาร์เรย์แบบ 2 มิติได้ เลยลองทำดู แต่ไม่รู้ว่าเข้าใจความต้องการของเจ้าของกระทู้ถูกหรือป่าวนะครับ
โค๊ด: [Select]
Public Function Seminar(sDate As Date, eDate As Date) As String
    Dim i As Long, o As Long, iCount As Long, iSun As Long, mCount As Long
    Dim tDay() As String ' กำหนดตัวแปรอาร์เรย์ จำทำแบบ 2 มิติ มิติแรกใช้เก็บตัดช่วงวันอาทิตย์ มิติสองใช้เก็บวันที่ไม่ใช่วันอาทิตย์
    ' หาช่วงเวลาเป้าหมายว่ามีวันอาทิตย์ทั้งหมดกี่วัน เพิ่มใช้กำหนดค่าตัวแปรอาร์เรย์ในมิติแรก----------------------
    For i = sDate To eDate 'ลูปหาตั้งแต่วันเริ่มต้นจนวันสิ้นสุด
        If Weekday(i) = 1 Then 'วันไหนมี Weekday เท่ากับ 1 คือวันอาทิตย์ ตาม Default ของฟังก์ชั่น
            iSun = iSun + 1 'นับจำนวนวันอาทิตย์ไปเรื่อยๆ
        End If
    Next
    '--------------------------------------------------------------------------------------------------
    'เก็บวันที่เป้าหมายทั้งหมดที่ไม่ใช่วันอาทิตย์ ลงในตัวแปรอาร์เรย์แบบไดนามิก-----------------------------------
    For i = sDate To eDate 'ลูปหาตั้งแต่วันเริ่มต้นจนวันสิ้นสุด
        If Weekday(i) <> 1 Then ' เมื่อไม่ใช่วันอาทิตย์ (1 คือ วันอาทิตย์)
            mCount = IIf(iCount > mCount, iCount, mCount) 'หาตัวเลขขยายมากขึ้นในแต่ละลูปเพื่อนำมาปรับขนาดความยาวของอาร์เรย์
            'ขยายความยาวของอาร์เรย์ให้มากขึ้น ตามข้อมูลวันที่ ที่ต้องจัดเก็บลงตัวแปร เพราะข้อมูลมีจำนวนมากน้อยไม่แน่นอนจึงต้องใช้ตัวแปรแบบไดนามิก
            ReDim Preserve tDay(iSun, mCount) 'ขยายมากขึ้นได้ แต่ทำให้น้อยลงไม่ได้ เพราะข้อมูลค่าเก่าจะหาย
            'แปรงข้อมูลวันที่เป้าหมายที่ไม่ตรงกับวันอาทิตย์ ไล่ใส่ลงไปในตัวแปรอาร์เรย์แบบ 2 มิติ
            tDay(o, iCount) = cThaiNumber(Day(i)) & " " & MonthNameThai(i) & " " & cThaiNumber(IIf(Year(i) = Format(i, "yyyy"), Year(i) + 543, Format(i, "yyyy")))
            iCount = iCount + 1
        Else 'หากเป็นวันอาทิตย์
            o = o + 1 'หากเป็นวันอาทิตย์ ให้เลื่อนตัวแปรอาร์เรย์ในมิติแรกขึ้นไปอีกลำดับ เพื่อแยกชั้นตัวแปรระหว่างช่วงวันที่ติดวันอาทิตย์
            iCount = 0 'ปรับมิติที่สองให้เป็นลำดับ 0 เริ่มใหม่
        End If
    Next i
    '---------------------------------------------------------------------------------------------------
    'เรียกแสดงค่าตัวแปรอาร์เรย์ออกมาตามรูปแบบที่เราต้องการ------------------------------------------------
    Dim firstDay As Long 'เก็บค่าลำดับของมิติตัวแปรลำดับแรกที่จะแสดง
    Dim lastDay As String 'เก็บข้อมูลวันที่วันสุดท้ายก่อนถึงวันอาทิตย์
    Dim endDay As String 'เก็บวันที่สุดท้ายไว้ใช้ในข้อความ ให้ไว้ ณ วันที่
    Dim strDay As String 'ไล่เก็บรวบรวมสรุปข้อมูลแสดงทั้งหมด
    firstDay = -1 'เก็บค่าลำดับมิติตัวแปรแรกที่ไม่ตรงกับวันอาทิตย์ (กันไว้กรณีที่วันแรกของข้อมูลเป็นวันอาทิตย์พอดี ทำให้ตัวแปรมิติแรกอาจไม่ได้เริ่มต้นที่ 0 ก็ได้)
    For i = 0 To UBound(tDay, 1) 'ลูปตัวแปรอาร์เรย์ในมิติแรกที่มีการจัดเก็บ ตั้งแต่ลำดับแรกจนลำดับสุดท้าย
        lastDay = "" 'ล้างค่าวันที่สุดท้ายทุกครั้งเมื่อขึ้นมิติตัวแปรใหม่
        For o = 0 To UBound(tDay, 2) 'ลูปตัวแปรอาร์เรย์ในมิติสองที่มีการจัดเก็บ ตั้งแต่ลำดับแรกจนลำดับสุดท้าย
            If tDay(i, o) & "" <> "" Then 'ถ้าค่าตัวแปรอาร์เรย์ในมิตินั้นไม่ใช่ค่าว่าง (แสดงว่ามีข้อมูล)
                lastDay = tDay(i, o) ' ให้บันทึกในตัวแปร lastDay ไปเรื่อยๆ จนข้อมูลลูปไปถึงสุดท้ายเราก็จะได้วันที่วันสุดท้าย ของตัวแปรอาร์เรย์ในชั้นมิตินั้น
                endDay = lastDay
                If firstDay = -1 Then
                    firstDay = i 'หากตัวแปรอาร์เรย์ลำดับนั้นไม่ใช่ค่าว่าง ก็แสดงว่าให้เริ่มต้นวันที่ที่ลำดับมิตินั้น จึงบันทึกลงไปในตัวแปร fristDay
                End If
            End If
        Next o
        If i = firstDay Then 'ถ้า i เท่ากับค่าในตัวแปร firstDay แสดงว่าเป็นค่าวันที่แรกที่จะแสดง
            If tDay(i, 0) <> lastDay Then ' ถ้าวันที่นั้นไปใช่วันที่สุดท้ายในมิตินั้น แสดงว่าต้องมีวันที่ 2 ช่วง
                strDay = "วันที่ " & tDay(i, 0) & " - วันที่ " & lastDay ' บรรทัดแรกของวันที่ ที่จะแสดงให้ขึ้นต้นคำว่า วันที่
            Else
                strDay = "วันที่ " & tDay(i, 0) ' ถ้าวันที่นั้นเท่ากับวันที่สุดท้ายในมิตินั้นด้วย แสดงว่าจะมีวันที่แค่วันเดียว
            End If
        Else 'ถ้าเป็นบรรทัดต่อๆไป
            If tDay(i, 0) & "" <> "" And lastDay <> "" Then 'ถ้ามีข้อมูล
                If tDay(i, 0) <> lastDay Then ' ถ้าวันที่นั้นไปใช่วันที่สุดท้ายในมิตินั้น แสดงว่าต้องมีวันที่ 2 ช่วง
                    strDay = strDay & vbCrLf & "และ " & tDay(i, 0) & " - วันที่ " & lastDay 'บรรทัดต่อๆไปจะแสดงขึ้นต้นด้วยคำว่า และ
                Else
                    strDay = strDay & vbCrLf & "และ " & tDay(i, 0) ' ถ้าวันที่นั้นเท่ากับวันที่สุดท้ายในมิตินั้นด้วย แสดงว่าจะมีวันที่แค่วันเดียว
                End If
            End If
        End If
    Next i
    '---------------------------------------------------------------------------------------------------
    strDay = strDay & vbCrLf & "ให้ไว้ ณ วันที่ " & endDay 'เก็บข้อมูลในรูปแบบที่เราต้องการในตัวแปร strDay
    Seminar = strDay
End Function

การใช้งาน: Seminar(วันที่เริ่มต้น, วันที่สิ้นสุด)
Seminar(#3/1/2024#, #3/15/2024#)
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

3
โปรแกรมแจกฟรี (ส่งท้ายปีเก่า ต้อนรับปีใหม่) นี้ ใช้ชื่อว่า Q2RFree

เหมาะสำหรับผู้ทำอาชีพอิสระที่จำเป็นต้องออกพวกใบเสนอราคา/ใบแจ้งหนี้/ใบเสร็จ

ตัวโปรแกรมใช้ระบบ MS Access มีความสามารถดังนี้
1. เก็บข้อมูลลูกค้าได้
2. เก็บข้อมูลการออกเอกสารทุกรายการได้
3. สำเนารายการจากเอกสารที่มีอยู่ได้ สำหรับกรณีทำงานเดิมอีกครั้ง หรือจะสำเนาจากใบเสนอราคาไปเป็นใบแจ้งหนี้แล้วต่อด้วยใบเสร็จก็ได้
4. สามารถใส่ Logo ได้ (อย่าลืมไปจดทะเบียนเครื่องหมายการค้าก่อนนะครับ)
5. ถ้ายังไม่มี Logo ก็สามารถออกเอกสารแบบที่ไม่มี Logo ได้
6. เปลี่ยนสีหัวเอกสารได้ จะแดง/เขียว/น้ำเงิน/ชมพู/ฟ้า/เหลือง ได้หมด ไม่มีสีดำ เพราะทำแล้วดูไม่ได้
7. ทุกเอกสารมีให้เลือก 2 แบบ ตามความชอบ

ดาวน์โหลดได้เองเลยที่ลิงก์ด้านล่างนี้
https://1drv.ms/u/s!ArcuGeSfhpiQhwGsRn9TPBxFIpp-?e=c1NGeI

สุดท้ายอย่าลืมอ่านคู่มือก่อนนะครับ
ติดปัญหาอะไรอีเมลมาถามได้ ตอบทุกอีเมลแน่นอน ถ้าไม่ตอบก็รอหน่อย เมลอาจตกไปอยู่ใน Jung Mail

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

4
ตย. แกะเอาเด้อ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

5
ใช้ Nas synology เป็นตัวเก็บ database ของ access แนวเหมือนเป็น BackEnd ส่วนวิธีเชื่อมต่อ VPN ตามคลิบก็แนะนำให้ใช้ OpenVPN ลองตั้งค่าใช้งานดูครับ


ขอบคุณนะครับ เดี๋ยวลองทำดูก่อน ได้เรื่องยังไงจะมาอัพเดทครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

6
ใช้ Nas synology เป็นตัวเก็บ database ของ access แนวเหมือนเป็น BackEnd ส่วนวิธีเชื่อมต่อ VPN ตามคลิบก็แนะนำให้ใช้ OpenVPN ลองตั้งค่าใช้งานดูครับ

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

7
Module  Write_TFB
Function PathFile() As String
PathFile = "C:\HP\"
End Function

Sub Write_TFB()
 '*************** dim TextHeader
Dim H_Prefix As String
Dim H_Contract_No As String
Set strm = CreateObject("ADODB.Stream")

'dbConnect.dbConnect     '<--- เครื่องผม Error เลยปิดใว้

H_Prefix = "H"
H_Contract_No = Format(Forms!Form1!Text0, "0000000000")

With strm
   .Open
   .Type = 2
   .Charset = "UTF-8"
   .WriteText H_Prefix & H_Contract_No
   .SaveToFile PathFile & "HP_" & ".txt", 2
   .Close
End With

MsgBox "Gen Text Complete :)"

End Sub


Code ในปุ่ม
Call Write_TFB
    MsgBox "finish"
'-------------------------
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

8
เนื่องจากบอร์ดเรียนรู้ Access สำหรับคนไทยนั้นได้ผ่านการสืบทอดมาหลายรูปแบบได้แก่
1. ASPThai.Net <- mdb(microsoft access database) | ฉบับอ.สุภาพ ไชยยา ผู้ก่อตั้ง
2. ASPThai.Net <-> MS SQL | ฉบับอ.yeadram
3. PHP by SMF <-> My SQL | ฉบับ PookPuy ที่ใช้กันอยู่ในปัจจุบันนี้

     ซึ้งรูปแบบที่ 1 และรูปแบบที่ 2 ในส่วนของโฮสจะต้องเป็น Windows server เท่านั้น และจากการที่โฮสล่มไปเมื่อเดือนสิงหาคม 2565 ผมจึงมีความคิดที่จะเปลี่ยนระบบใหม่ให้รูปแบบคล้ายกันมากขึ้นโดยเฉพาะในส่วนของดาต้าเบสและให้สามารถใช้งานโฮสที่เป็นระบบลีนุกซ์(Linux)ได้ด้วย
     จึงได้ทดลองเปลี่ยนรูปแบบที่ 1.บอร์ดเก่าฉบับ อ.สุภาพ ไชยา เชิญเข้าไปเยี่ยมชมได้จากลิ้งก์ที่อยู่ด้านบนของเว็บบอร์ดหรือที่อยู่บนหน้าหลักครับ *โดยจะยังคงแสดงผลแบบอ่านได้อย่างเดียว
หากพบปัญหาหรืออยากให้เปลี่ยนแปลงสิ่งใดแสดงความคิดเห็นกันมาได้เลยครับ  :question:

รายการโครงการ :yuush:
- PHP หน้าเว็บบอร์ดจากกระทู้ฉบับ อ.สุภาพ ไชยา[แล้วเสร็จ]
- Sitemap กระทู้บอร์ด อ.สุภาพ ไชยา[แล้วเสร็จ]
- PHP หน้าเว็บบอร์ดจากกระทู้ฉบับอ.yeadram[แล้วเสร็จ]
- Sitemap กระทู้บอร์ดอ.yeadram[แล้วเสร็จ] *รวมถึงปรับปรุงใหม่หมดทั้งเว็บบอร์ด
- จัดการรูปภาพที่ใช้ในกระทู้บอร์ดอ.yeadram[แล้วเสร็จ]
- แก้ลิ้งก์ที่มีในบอร์ดให้ไปยังหน้า PHP[แล้วเสร็จ]
- ASP Response.Redirect() to PHP[แล้วเสร็จ]
  ^ มีผลทำให้ไม่ว่าจะลิ้งก์หน้า ASP มาจาก google หรือจากที่ใดจะไปเปิดหน้าบอร์ดฉบับ PHP ทั้งหมด
หน้าเว็บบอร์ดPHP รองรับมุมมองทั้งบนคอมพิวเตอร์ โทรศัพท์มือถือ และแท็บเล็ต (Responsive) :cool:
*การทำ Sitemap นั้นเพื่อให้สามารถใช้ระบบค้นหาด้วย Google เป็นหลักครับ :fake smile:

ปล.ลิ้งก์หน้าเว็บบอร์ดฉบับดั้งเดิม  จะแสดงรายการกระทู้ต่างๆหรือใช้คำสั่งค้นหาภายในบอร์ดนั้นๆได้ โดยเมื่อกดเปิดอ่านจะลิ้งก์มาหน้ากระทู้ฉบับ PHP ครับ
บอร์ดเก่า อ.Yeadram  --> https://www.thai-access.com/yeadram.asp
บอร์ดเก่า อ.สุภาพ ไชยา --> https://www.thai-access.com/chaiya.asp


[8 ตุลาคม 2565]
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

9
ห้อง MS Access / : สอบคำสั่ง Visible
« เมื่อ: 10 มี.ค. 65 , 08:33:27 »
จากโค้ดนี้
Private Sub TWRD_AfterUpdate()

Me.TWRDC = DLookup("[WARDCODE]", "QY_ward_FW")

   ''Call Cmd84_Click
Me.TCtlrRCB = DCount("[LABNO]", "QAshow_Recivest2")
    Me.Requery
msgbox DCount("[LABNO]", "QAshow_Recivest2") 
If Me.TCtlrRCB > 0 Then
    Me.Command81.Visible = True
   Else
   Me.Command81.Visible = False
End If
Me.TWHN.SetFocus
        Me.Refresh
End Sub

ลองเพิ่ม msgbox DCount("[LABNO]", "QAshow_Recivest2") 
ดูหน่อยว่ามันแสดงค่า 0 จริงหรือเปล่า หรือแสดงค่าว่างอยู่
เพราะถ้าแสดงค่าว่าง มันจะไม่เข้าเงื่อนไขด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

10
ตัวอย่างที่ผมเคยทำและเก็บไว้นะครับ แต่ผมใช้กับ SQL SERVER ไม่เคยลองกับ MySQL นะครับ

- ต้องการลิ้งค์ตารางชื่อ Table1 จาก SQL Server เข้ามายัง MS Access 
- ข้อมูล SQL SERVER
--------------------------
Server Name  : ASPIRE-ONE
Database Name: Demo
Login        : sa
Password     : Abc!23
--------------------------
 
<DAO>
'----------------Code Start----------------
Sub LinkSQL_DAO()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Set db = CurrentDb
    Set tdf = db.CreateTableDef("dbo_Table1") 'ชื่อตารางที่ลิ้งค์เข้ามาใหม่
    tdf.Connect = "ODBC;Driver=SQL SERVER;SERVER=ASPIRE-ONE;UID=sa;PWD=Abc!23;Database=Demo;"
    tdf.SourceTableName = "Table1" 'ชื่อตารางเป้าหมายที่เครื่อง SQL Server
    db.TableDefs.Append tdf
'-------- หากต้องการลิ้งค์เพิ่มอีกตาราง  -------------------- 
'    Set tdf = db.CreateTableDef("dbo_Table2")
'    tdf.Connect = "ODBC;Driver=SQL SERVER;SERVER=ASPIRE-ONE;UID=sa;PWD=Abc!23;Database=Demo;"
'    tdf.SourceTableName = "Table_2"
'    db.TableDefs.Append tdf
'--------------------------------------------------
'-------- หากต้องการลบลิ้งค์ตาราง  --------------------
'    db.TableDefs.Delete "dbo_Table1"
'--------------------------------------------------
    db.Close: Set db = Nothing
End Sub
'-----------------Code End-----------------
 
* หมายเหตุ: คำสั่งนี้จะไม่สามารถเซฟรหัสผ่านได้ ทุกครั้งที่เปิดไฟล์ฐานข้อมูล MS Access ใหม่แล้วเรียกลิ้งค์ตารางที่สร้างจะต้องใส่รหัสผ่านใหม่ในครั้งแรกเสมอ จึงเหมาะกับการใช้งานชั่วคราว หรืออาจต้องใช้คำสั่งลบลิ้งค์ตารางแล้วสร้างใหม่ทุกครั้งเมื่อเปิดไฟล์แทน
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

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

12
น่าสนใจมากเลยค่ะอาจารย์
ขออนุญาตคุณ001jetnipitด้วยนะคะ

รบกวนอาจารย์ OddyWriter ขอไฟล์ตัวอย่างแบบ 32 bit ด้วยได้ไหมคะ
หนูจะเอาไปปลุกผีงานเก่าที่เคยถอดใจล้มเลิกไปแล้วค่ะ

แต่หนูลองเอาไฟล์ตัวอย่าง64bit ของอาจารย์ไปรันกับ 32bit มันก็ทำงานได้ปกตินะคะ
ไม่ทราบว่าจริงๆแล้วจะมีผลแตกต่างอื่นๆหรือเปล่าคะ

จริงดิ ผมส่งผิดไฟล์เหรอเนี่ย ดันส่ง 32 Bit ไปซะงั้น ถ้าจะ Run บน 64 Bit ให้แก้โค้ด Function เป็น PtrSafe Function ครับ



windows คุณเป็น 64 Bit ไม่ได้หมายความว่า Access คุณจะเป็น 64 bit หรือ 32 Bit นะครับ โปรดเข้าใจให้ถูกต้อง

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

13
เราสามารถใช้ & เพื่อใช้ Control ในการค้นหาตัวเดียวกันได้ครับ เช่น


Code : sql = "SELECT * FROM Q_PI WHERE [ID_Card] & [NameTH] like '*" & Nz(Me.TextSearch, "*") & "*' AND [Position] like '" & Nz(Me.CmdPosi, "*") & "' AND [Section] like '" & Nz(Me.CmdSec, "*") & "'"

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

14
คิดอยู่นานว่าจะตอบอย่างไรไม่ให้ทำร้ายจิตใจ

1. ควรออกแบบตารางใหม่ โดยแบ่งเป็นตารางดังนี้
1.1 ตารางเรือ (หมายเลขเรือ, ชื่อเรือ)
1.2 ตารางค่าใช้จ่าย (ID, หมายเลขเรือ, วันที่ใช้จ่าย, ประเภทค่าใช้จ่าย, จำนวนที่ใช้จ่าย)
1.3 ตารางการใช้น้ำมัน (ID สำหรับอ้างอิงกับข้อ 1.2 เฉพาะรายการน้ำมัน, ราคาต่อหนวย, จำนวนหน่วย)
1.4 ตารางประเภทค่าใช้จ่าย (ประเภทค่าใช้จ่าย, ตัวคูณที่ค่าเป็น +1/-1 เพื่อนำไปคำนวณกับข้อ 1.2 ในกรณีคิดเป็นกำไร/ขาดทุนในแต่ละเดือน)

2. นำตารางในข้อ 1.2 มาทำ Crosstab Query ก็จะได้ข้อมูลตามที่คุณต้องการครับ
3. ชื่อฟิลด์ทั้งหมด ควรเป็นภาษาอังกฤษ

ปล. Access เป็นฐานข้อมูล ไม่ใช่ Excel ดังนั้นถ้าเปิดตารางดูแล้วให้อารมณ์ Excel แสดงว่ามาผิดทาง
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

15
ห้อง MS Access / : export to excel
« เมื่อ: 30 มิ.ย. 64 , 10:39:25 »
ทำไงก็ไม่ได้ครับ ลองทำหมดแล้ว ท่าน อาจารใดมีวิธีขอคำชี้แนะด้วยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

16
ลองดูนะครับ


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

17
DSum("Nz([s_vol]*[s_price])","fsale","[goods_id]"='" & [qry_จำนวนออก].[goods_id] & "'")
ขออนุญาตขอความรู้ส่วนนี้ว่า ทำไมเราต้องค่อมด้วย  '" &...............& "'    ครับ
ขอบพระคุณอย่างยื่งครับ

goods_id ที่อ้างอิงน่าจะ datatype เป็น text ครับ ไม่ใช้ตัวเลข
ถ้าเป็นตัวเลข เขาอาจจะใช้
DSum("Nz([s_vol]*[s_price])","fsale","[goods_id] =" & [qry_จำนวนออก].[goods_id] & "")

หรือถ้า goods_id เป็นตัวแปรก็ใช้
DSum("Nz([s_vol]*[s_price])","fsale","[goods_id] =" & strgoods_id)
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

18
ผมแปะลิงค์ช่องยูทูปของอาจารย์ TTT ใว้ใน กล่องข่าวด้านบน กับ แหล่งความรู้ & ประชาสัมพันธ์ ด้านล่างกดตามเข้าไปดูกันได้เลยครับผม :yuush:

หรือกดลิงค์จากที่นี่เลยก็ได้ครับ ->> ช่องยูทูปเรียนรู้การพัฒนาซอฟแวร์ฐานข้อมูล MS Access ด้วยตัวเอง By อ.TTT(Access-Creator)
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

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