สมัครสมาชิก

แสดงกระทู้

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 ... 28
1
อยู่ข้างล่าง ครับ  กรณีตอบกระทู้มันจะขึ้นว่าตั้งกระทู้ครับ
ส่วนกรณีแก้ไข ปุ่มจะเปลี่ยนเป็น ปุ่มบันทึก ครับ





2
ห้อง MS Access / : Popup ข้อความ
« เมื่อ: 19 มี.ค. 62 , 09:35:00 »
ใช้ .ControlTipText แสดงข้อความเมื่อเม้าส์ไปโดนก็ได้นะคับ
มีตาราง Table1
มี Field ID , Comment

มี textbox ID กับ Comment

โค๊ด: [Select]
Private Sub Comment_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not IsNull(Me.Comment) And Not IsNull(Me.ID) Then
Me.Comment.ControlTipText = DLookup("Comment", "Table1", "ID =" & Me.ID & "")
Else
Me.Comment.ControlTipText = Null
End If
End Sub

3
ห้อง MS Access / : input mark
« เมื่อ: 17 มี.ค. 62 , 14:02:23 »
ใส่ Input Mark ยังงัย ให้บันทึกไอดีต่างชาติ แบบนี้ได้ครับ

0-0000-T035991-3
น่าจะแบบนี้นะครับ
0\-0000\-A000000\-0;0;_
โดย A ใช้แทนตัวอักษรหรือตัวเลข 1 ตัวคับ

ผมใช้ Event Form_Load นะครับปกติ หรือกำหนดที่ตัว Control เลยก็ได้คับ
โค๊ด: [Select]
Private Sub Form_Load()
Me.Text2.InputMask = "0\-0000\-A000000\-0;0;_"
End Sub

ไม่รู้ผมตอบตรงโจทย์ หรือเปล่านะครับ
ไม่รู้ว่าต้องการแยก ID T0359913 เป็น 0-0000-T035991-3
หรือต้องการกำหนด InputMask แบบข้างบน  :cool: :cool:


4
สามารถกำหนดได้ตรง Event Detail_Print นะครับ
โดยในหน้าออกแบบเราใส่เส้นไว้ใต้ textbox 1 เส้น ผมตั้งชื่อว่า  Line1 กำหนดความหนาของเส้นไว้ให้เรียบร้อยครับ
ส่วนโค้ดก็ตามนี้
โค๊ด: [Select]
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If Me.id1 = "3" And Me.Team = Text3 Then
Me.Line1.Visible = True
Me.Line1.BorderColor = vbRed
Else
Me.Line1.Visible = False
End If
End Sub

text3 คือ หัวของรายงาน ที่ Group เอาไว้

จากคำสั่งนี้ ไม่ว่ามีกี่ิอันดับในแต่ละกลุ่ม คำสั่งจะจับข้อมูลที่ ลำดับเท่ากับ 3 และ อยู่ในกลุ่มเดียวกันถึงจะแสดงเส้นสีแดงขึ้นมาคับ

ผลลัพธ์ที่ได้


5
ผมหมายถึงเป็นไฟล์ access ครับ เป็นรูปแล้วผมจะ Add code ยังไงละครับ  :startle: :startle:

6
อันใหม่เพื่อท่านจะ ใช้ลิ้ง Youtube ในการ download ครับ
กดปุ๊บ ลิ้งดาวน์โหลดสีเขียวแสดงปั๊บ  :cool: :cool:


7
ขอบคุณ คุณปิ่นณรงค์ ครับ  แต่ผมลองลาก คลิปจาก YouTube มาวางใน textbox ที่คุณปิ่นณรงค์ กรุณาส่งให้   แต่ไม่มาครับ คือผมต้องเอาไปใช้กับ คลิปของ YouTube ซ่ะเป็นส่วนใหญ่ครับ
ผมลองแล้วได้ปกติคับ
ผมเพิ่มส่วนของ การเปิด Url ขึ้นมาโดยใช้ google Chrome ด้วยคับ
วิธีการใช้งานนะครับ


หรือเมื่อเห็นคลิปขนาดย่อหรือ Icon ก็กดลากมาเลยได้เหมือนกันครับ


8
ครับ อาจารย์ผมไปเจอวิธีนี้จากเว็บต่างประเทศ ตรงกำหนดสีกับ ข้อความครับ
เลยเอามาประยุกต์ใช้กับโค้ดนี้ครับ
ส่วนโค้ดนี้ผมไปค้นหาเจอจาก เว็บนอกครับ
มาแบ่งบันให้กับเพื่อนๆสมาชิกคับ โดยเอามาปรับโค้ด จาก excel เป็น Access ครับ  :grin: :grin: :grin:

9
ห้อง MS Access / : สร้าง กดปุ่ม button
« เมื่อ: 10 มี.ค. 62 , 16:33:48 »
ต้องการสร้าง กดปุ่ม button  มีปุ่มบันทึกข้อมูล  กับปุ่มจบการทำงาน
เขียนโค๊ตอย่างไรครับให้ปุ่มกดจบการทำงาน ไม่ทำงาน  จนกว่าจะมีการกดปุ่มบันทึกข้อมูลถึงจะกลับมาทำงานได้ครับ

มีหลายวิธีครับ ตัวอย่างเช่น
การกำหนดตัวแปร ไว้เพื่อใช้ตรวจสอบสถานะการทำงานของปุ้มบันทึกเช่น
โค๊ด: [Select]
Private Sub BtnSave_Click()
Dim SaveEvent  As String
Dim DB As Database
Dim RS As Recordset
   If MsgBox("ต้องการบันทึกข้อมูลข้อมูล ?", vbOKCancel + vbQuestion, "สอบถาม") = vbOK Then
        Set DB = CurrentDb()
        Set RS = DB.OpenRecordset("Table1", DB_OPEN_DYNASET)
    RS.AddNew
    RS![Field1] = Me.Text1
    RS![Field2] = Me.Text2
    RS![Field3] = Me.Text3
    RS.Update
    RS.Close
    DB.Close
    Set RS = Nothing
    Set DB = Nothing
    Call ResetForm
    SaveEvent = "1"  'ถ้าเราบันทึกก็ให้ตัวแปร = 1
    Else
    SaveEvent = "0" 'ถ้าเราไม่บันทึกให้ตัวแปร = 0
    End If
    If SaveEvent = "1" Then
    Me.BtnClose.Enabled = True
    ElseIf SaveEvent = "0" Then
    Me.BtnClose.Enabled = False
    End If   
End Sub

คำสั่งในการเปิดปิดการใช้งานคือ ชื่อตัวControl.Enabled = False หรือ True

10
ขอเพิ่มเติมอีกวิธีนะครับ


ที่ Module ใส่โค้ดนี้เข้าไป
โค๊ด: [Select]
Function MyHexColor(ByVal StrHex)
 
    If Len(StrHex) = 7 Then StrHex = Mid(StrHex, 2, 6)
    If Len(StrHex) = 6 Then

        num_array = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f")
        char1 = LCase(Mid(StrHex, 1, 1))
        char2 = LCase(Mid(StrHex, 2, 1))
        char3 = LCase(Mid(StrHex, 3, 1))
        char4 = LCase(Mid(StrHex, 4, 1))
        char5 = LCase(Mid(StrHex, 5, 1))
        char6 = LCase(Mid(StrHex, 6, 1))
        For i = 0 To 15
            If (char1 = num_array(i)) Then position1 = i
            If (char2 = num_array(i)) Then position2 = i
            If (char3 = num_array(i)) Then position3 = i
            If (char4 = num_array(i)) Then position4 = i
            If (char5 = num_array(i)) Then position5 = i
            If (char6 = num_array(i)) Then position6 = i
        Next
        If IsEmpty(position1) Or IsEmpty(position2) Or IsEmpty(position3) Or IsEmpty(position4) Or IsEmpty(position5) Or IsEmpty(position6) Then
            MyHexColor = -1
        Else
            MyHexColor = RGB(position1 * 16 + position2, position3 * 16 + position4, position5 * 16 + position6)
        End If
    Else
        MyHexColor = -1
    End If
End Function

ที่ฟอร์มกำหนดค่า ในส่วนของ Detail
โค๊ด: [Select]
Private Sub รายละเอียด_Paint()
If Not IsNull(Me.HEX) Then
    Me.COLOR.BackColor = MyHexColor(HEX)
    Else
    Me.COLOR.BackColor = MyHexColor("#FFFFFF")
 End If
End Sub

11
เช่น พนักงาน ID  A001 อยากจะให้ดึงรูปภาพ ของพนักงานคนนั้น มาแสดงในฟอร์ม หรือ รายงาน โดยอยากให้ผูก ID กับชื่อ image file ทำอย่างไรครับ

\images\A001.jpg
\images\A002.jpg
\images\A003.jpg
\images\A004.jpg

ขอบคุณมากครับ


มีให้ลองนำไปใช้ดู 2 แบบนะครับ
ถ้าในฟอร์มหรือรายงาน ท่านเอา Field ID เข้ามาใส่ไว้ด้วย และ ตั้งชื่อ Textbox ว่า ID เราก็สามารถกำหนดค่าให้กับ กรอบ Image ที่ต้องการได้ครับเช่น
แบบที่ 1 เขียนโค้ดบนฟอร์มหรือรายงาน
Private Sub Form_Current()
Call PathOfImage
End Sub

Sub PathOfImage()
Dim StrPath, StrPathDir As String
StrPath = "C:\images\" & Me.ID & ".JPG"  'กำหนด Path ของรูปภาพโดยอ้างอิงไปที่ textbox ID
StrPathDir = Dir(StrPath) 'ตรวจสอบดูก่อนว่ามีไฟล์รูปชื่อนี้อยู่จริงหรือไม่
If StrPathDir <> "" Then 'ถ้าตรวจสอบแล้วมีอยู่จริง
Me.Image.Picture = StrPath 'ถ้ามีอยู่ก็ให้กำหนด Path ให้กับ Image
Else
Me.Image.Picture = "" 'ถ้าไม่เจอไฟล์รูปที่ตรงกับ ID ของเราก็ให้แสดงกรอบว่างๆไป
End If
End Sub

แบบที่ 2 สร้าง Calculate Field
สร้าง Field Calculate มาแล้วใส่ค่าไปว่า
"C:\images\" & [ID] & ".JPG"
แล้วท่านก็ไปกำหนดแหล่งตัวควบคุมของ Image เอาท่านก็จะได้ ลิ้งอัตโนมัติเลยคับ

ผมมีตัวอย่างให้ท่านคลาย Zip ไปไว้ที่ Drive C แล้วลองเทสดูคับ

12
ลองดูตัวอย่างนี้ดูครับ
โค๊ด: [Select]
Sub GetColor()
Dim lngWhite As Long
Dim lngYellow As Long
lngYellow = RGB(255, 255, 0)
lngWhite = RGB(255, 255, 255)
If Not IsNull(Me.ยอดทั้งหมด) And Not IsNull(Me.ยอดที่ใช้ไป) Then
    If Me.ยอดทั้งหมด > Me.ยอดที่ใช้ไป Or _
    Me.ยอดทั้งหมด < Me.ยอดที่ใช้ไป Then
    Me.ยอดทั้งหมด.BackColor = lngYellow
    Me.ยอดที่ใช้ไป.BackColor = lngYellow
         Else
         Me.ยอดทั้งหมด.BackColor = lngWhite
         Me.ยอดที่ใช้ไป.BackColor = lngWhite
End If
    End If
End Sub
Private Sub ใช้ไป1_AfterUpdate()
Call GetColor
End Sub
Private Sub ใช้ไป2_AfterUpdate()
Call GetColor
End Sub
Private Sub ใช้ไป3_AfterUpdate()
Call GetColor
Me.ใช้ไป1.SetFocus
End Sub

ส่วนอยากกำหนดเป็นสีอะไรก็กำหนด ตัวแปลเป็นสีนั้น
 สีแดง   RGB(255, 0, 0)
สีดำ     RGB(0, 0, 0)
สีเหลือง RGB(255, 255, 0)
สีขาว    RGB(255, 255, 255)

13
ห้อง MS Access / : Get Name Query is open
« เมื่อ: 08 มี.ค. 62 , 12:25:17 »
เรียน ท่าน อาจารย์ทุกท่านครับ

มีวิธีไหมครับ ที่เราจะหาชื่อของ Query ที่เราเปิดใช้อยู่ว่าชื่ออะไร ทำได้ไหมครับ
โดยเราเรียกผ่าน ตัว Query ของตัวมันเอง

ขอบพระคุณมากๆๆๆ  ครับ

ช่วยอธิบายเพิ่มเติมหน่อยครับ
ว่าคุณต้องการแสดงชื่อคิวรี่ตรงไหน บนฟอร์ม บนรายงานที่เปิดอยู่ หรือส่วนไหนครับ พอดีผมไม่ค่อยเข้าใจคำถามครับ

14
ใช้การตรวจสอบค่าจาก Combobox แล้ว ใช้อ้างอิงกับชื่อรายงานใน ตาราง tblRCReport ที่ Field ReportName ครับ
1.ที่ RowSource กำหนดเป็น SELECT tblRCReport.ID, tblRCReport.ReportDescription FROM tblRCReport;
2. ที่ BoundColumn(คอลัมน์ที่ผูกไว้) กำหนดเป็น 1
3. ตรง Column Width(ความกว้างคอลัมน์) กำหนดเป็น 0ซม.;10ซม.
4. ตรง Event AfterUpdate ของ Combo1 ใส่โค้ดดังนี้คับ

โค๊ด: [Select]
Private Sub Combo1_AfterUpdate()
Dim SetReportName As String
SetReportName = DLookup("ReportName", "tblRCReport", "ID=" & Me.Combo1 & "")
DoCmd.OpenReport SetReportName, acViewReport
End Sub

15

ลองดูตัวอย่างนี้ครับ



ที่ปุ่ม InventoryDetail
Private Sub InventoryDetail_Click()
DoCmd.OpenForm "frmInputPassword", , , , , acDialog
End Sub

ส่วนคำสั่งที่ Form InputPassword
โค๊ด: [Select]
Option Compare Database

Private Sub btnCANCEL_Click()
DoCmd.Close
End Sub

Private Sub BtnOK_Click()
If IsNull(Me.InputPassword) Then
MsgBox "กรุณาระบุรหัสผ่าน", vbCritical, "แจ้งเตือน"
Me.InputPassword.SetFocus
Exit Sub
End If
If InputPassword = "1234" Then
DoCmd.Close acForm, "frminputpassword"
DoCmd.OpenReport "Report1", acViewReport
'Docmd.openform "Form1" 'ใช้คำสั่งนี้ถ้าจะเปิดฟอร์ม

Else
MsgBox "รหัสผ่านไม่ถูกต้อง", vbCritical, "ข้อผิดพลาด"
End If
End Sub

Private Sub InputPassword_GotFocus()
Me.InputPassword = Null
End Sub

16
ขอบคุณมากๆ ครับ
ได้ run ดูแล้ว Log ขึ้นแล้วครบครับ

แต่ลองใช้คำสั่งการเข้าระบบดู อย่างอื่น OK แต่หากพิมพ์  UserName ผิด มันขึ้นว่า Error บรรทัดนี่้แก้ไขอย่างไรครับ
 
Private Sub Command21_Click()

Dim fpass As String, fusername As String
If IsNull(Me.UserBox) Then
MsgBox "กรุณาระบุ UserName", vbInformation, "ข้อผิดพลาด"
Exit Sub
ElseIf IsNull(Me.PassBox) Then
MsgBox "กรุณาระบุ Password", vbInformation, "ข้อผิดพลาด"
Else
    fusername = DLookup("[UserName]", "User", "[UserName]='" & Me.UserBox & "'")
If fusername = "" Then
    MsgBox "ชื่อผู้ใช้ไม่ถูกต้อง", vbCritical, "ไม่พบชื่อผู้ใช้งาน"
    Me.Undo
    Me.UserBox.SetFocus

บรรทัดที่ตัวอักษรสีแดง จะแก้ไขอย่างไร รบกวนด้วยครับ

แก้เป็นแบบนี้ครับ
fusername = Nz(DLookup("[UserName]", "User", "[UserName]='" & Me.Userbox & "'"))

ลองดูจากตัวอย่างนี้ครับ

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