แสดงกระทู้

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

วิธีใช้งาน
1.เข้าหน้าฟอร์มไปแล้ว สามารถเลือกดูแบบดาวเทียมได้
2.พิมพ์ค้นหาสถานที่ๆต้องการ
3.กดคลิกซ้ายลงในแผนที่เพื่อสร้างจุดปักหมุดกลมๆ มีขีดตรงกลาง
4.กดคลิกขวาที่จุดปักหมุดนั้น แล้วกดเลือกพิกัสตัวเลข ด้านบนสุด (จะเป็นการเลือกพิกัสและ CopyClipboard)
5.กดที่ปุ่มทางขวา "วาง Lat Long จาก Web"
   โปรแกรมจะแยก lat กับ long ให้
6.ตรวจสอบความถูกต้องของพิกัสแล้วกดเซฟไปยังตารางได้เลย
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

2
คุณอธิบายไม่ค่อยละเอียดเท่าไหร่ เลยไม่รู้ว่าคุณต้องการทำที่ส่วนไหน เอาที่ผมเข้าใจแล้วกันนะครับ ถ้าไม่ตรงตามต้องการก็ขออภัยด้วย ปรับใช้ดู
ในส่วนของรายงาน PrintJob1 คอนโทรลชื่อ Picture คุณต้องการให้แสดงรูปผู้สมัครใช่ป่าวครับ ถ้าใช่ให้เข้าไปที่รายงาน PrintJob1 มุมมองออกแบบ เลือกในส่วนของ Detail > On Print:
แล้วใส่โค้ดประมาณนี้ครับ

    If Not IsNull(Me.Text35) Then
        Me.Picture.PictureData = DLookup("Picture", "dbo_jobseil2", "IDCard=" & Me.Text35)
    Else
        Me.Picture.PictureData = Null
    End If

ลองดูครับ
ปล. ถ้าฟอร์มเชื่อมกับฐานข้อมูลตารางอยู่แล้วสามารถใช้เป็น
    Me.Picture.PictureData = [Picture]
ได้เลย ก็จะง่ายกว่า อยู่ที่การออกแบบครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

3
ผมไม่ทราบนะครับว่าคุณออกแบบเครือข่ายยังไง แต่หลักการก็คือต้องตรวจสอบก่อนว่าเครื่องเป้าหมายที่เราจะติดต่อด้วยสามารถติดต่อได้หรือไม่ ก่อนที่จะทำการดึงข้อมูลไปมาด้วยการ Ping โดยผมแนะนำให้เขียนโค้ด Ping ไปตรวจสอบก่อนครับ เช่น

Public Function sPing(sHost As String) As String
    Dim oPing As Object, oRetStatus As Object
    Set oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & sHost & "'")
    For Each oRetStatus In oPing
        If IsNull(oRetStatus.StatusCode) Or oRetStatus.StatusCode <> 0 Then
            sPing = "timeout" 'oRetStatus.StatusCode
        Else
            sPing = oRetStatus.ResponseTime
        End If
    Next
End Function

การใช้งาน
    sPing("192.168.1.7")
หรือใช้ชื่อเครื่องก็ได้เช่นกัน
    sPing("ชื่อเครื่องของฉัน")
 
Return
"45ms" = ติดต่อกับเครื่องเป้าหมายได้ใช้เวลา 45ms
"timeout" = ไม่พบเครื่องเป้าหมาย

หากมันไม่ timeout ก็ค่อยเขียนโค้ดดึงข้อมูลต่อไป ประมาณนี้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

4
เปลี่ยนเป็นไม่ใช่

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

5
ลองทำเล่นๆ ดู ไม่รู้ใช้ได้ป่าว
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

6
เจอแล้วครับ
มัันขาด

microsoft outlook 16.0 object library

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

7
ห้อง 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

8
ตัวอย่างที่ผมเคยทำและเก็บไว้นะครับ แต่ผมใช้กับ 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

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

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

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

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

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



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

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

11
เราสามารถใช้ & เพื่อใช้ 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

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

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

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

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


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

15
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

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

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

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