แสดงกระทู้

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

หน้า: 1 2 3 4 [5]
73
เขียนข้อเสนอแนะให้ทีมพัฒนา Access access.uservoice.com/forums/319956-access-desktop-application

เขียนข้อเสนอแนะให้ทีมพัฒนา Office officespdev.uservoice.com/forums/224641-feature-requests-and-feedback?category_id=164751 ถ้าเกี่ยวกับ VBA IDE ให้เลือกหมวด Office Development Tools

Blog ของทีมซัพพอร์ทของ Access blogs.technet.microsoft.com/the_microsoft_access_support_team_blog/

Blog ของ Office365 ในเรื่องเกี่ยวกับ Access www.microsoft.com/en-us/microsoft-365/blog/access/
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

74
ห้อง MS Access / : กำหนดขนาดกระดาษด้วย VB
« เมื่อ: 13 มิ.ย. 61 , 23:50:28 »
ลองดูที่นี่ครับ
https://support.office.com/th-th/article/คุณสมบัติ-papersize-0bb787f4-c856-4ec8-b1fa-9473e27f5d98
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

75
โค๊ด: [Select]
Function CheckFont(fontName As String, Optional fontSize As Integer) As Boolean
    On Error Resume Next
    With New StdFont
        .Name = fontName
        If fontSize > 0 Then .Size = fontSize
        CheckFont = (StrComp(fontName, .Name, vbTextCompare) = 0)
        fontName = .Name
        fontSize = .Size
    End With
End Function
<การใช้งาน> CheckFont(ชื่อฟอนต์, ขนาดฟอนต์ (กำหนดหรือไม่ก็ได้))
CheckFont("พส. พิมพ์ดีด ๒ ใหม่", 12)
หรือ
CheckFont("พส. พิมพ์ดีด ๒ ใหม่")
 
Return:
True  คือ มีฟอนต์ชื่อ "พส. พิมพ์ดีด ๒ ใหม่" อยู่ในเครื่องแล้ว และใช้ขนาด 12 ได้
False คือ ไม่มีฟอนต์ชื่อ "พส. พิมพ์ดีด ๒ ใหม่" อยู่ในเครื่อง หรือใช้ขนาด 12 ไม่ได้

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

76
ห้อง MS Access / : Alt+ลูกศรลง
« เมื่อ: 08 มิ.ย. 61 , 18:47:17 »
ได้ละครับ ขอบพระคุณอาจารย์มากๆครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

77
ห้อง MS Access / : Alt+ลูกศรลง
« เมื่อ: 08 มิ.ย. 61 , 18:33:04 »
จะใช้คำสั่ง Alt+ลูกศรลง เพื่อให้  combo ลงอัตโนมัติ แต่ไม่รู้ ว่าจะโค๊ตยังงัยครับ รบกวนอาจารย์ด้วยครับ

ผมสมมุติ Combobox ชื่อ Cb1 นะครับ ใช้ Event Gotfocus
โค๊ด: [Select]
Private Sub Cb1_GotFocus()
Me.Cb1.Requery
Me.Cb1.Dropdown
End Sub
เมื่อ curser ตกที่ combobox นั่นก็จะแสดงรายการทันที

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

78
ถ้าคีย์หลักเป็น Autonumber โปรแกรมมันจะใส่ค่าให้ ถ้าไม่ใช่ก่อนจะไประเบียนอื่นก็ใส่ค่าให้มันก่อนครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

79
ก็ต้องแก้ตรงๆกำปั้นทุบดิน คืออย่าให้ฟิลด์ที่เป็นคีย์หลักมีค่าว่างหรือ Null ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

81
ขอสอบถามเพิ่มเติมครับ ถ้าต้องการให้ ไดอะล็อกซ์บ๊อกซ์ ที่ขึ้นมาให้เลือกไฟล์ เราจำกำหนดให้เลือกได้เฉพาะไฟล์รูปภาพได้ไหมครับ

Private Sub Import_Click()
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
f.Filters.Clear
f.Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"

If f.Show Then
    For i = 1 To f.SelectedItems.Count
        sFile = filename(f.SelectedItems(i), sPath)
        Me.GetFileName = sFile
        Me.GetFilePath = sPath
    Next
End If
End Sub

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

82
ใครพอจะมีวิธีอื่นๆอีกไหมครับ โดยใช้คิวรี่ในการสร้างเงื่อนไขครับ ขอบคุณมากครับผม
คำถามคือคุณจะสร้างตารางเพื่อสร้างโปรแกรม หรือต้องการจะสร้าง ID Number หรือ มีข้อมูลอยู่แล้ว ต้องการแยก เป็นหมวดหมู่ใหม่

ถ้าสองข้อหลัง ลองส่งไฟล์มาดูครับ
ถ้าข้อแรก ผมยกตัวอย่างการสร้างตาราง
การสร้างความสัมพันธ์ ของประเทศ จะต้องเริ่มจาก จังหวัด อำเภอ ตำบล หมู่บ้าน ลงไปเรื่อยๆ
ผมยังงงคำถามอยู่คับ

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

83
ขอสอบถามเพิ่มเติมครับ ถ้าต้องการให้ ไดอะล็อกซ์บ๊อกซ์ ที่ขึ้นมาให้เลือกไฟล์ เราจำกำหนดให้เลือกได้เฉพาะไฟล์รูปภาพได้ไหมครับ
ได้ครับกำหนดนามสกุลของประเภทรูป bmp jpg ประมาณนั้น เดี่ยวกลับไปแก้ให้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

84
ถ้า Drive D ยังไม่มี Floder ชื่อ iDoc ก็ไปสร้างไว้ก่อนนะครับ
ถ้าต้องกันวันที่ yymmdd แก้เป็น
โค๊ด: [Select]
Snow = Format(Date, "YYMMDD")
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

85
ต้องการออกแบบโปรแกรมดังนี้ครับ
1. เลือกไฟล์ ที่ต้องการ
2. เปลี่ยนชื่อไฟล์ ตามที่เรากำหนด โดยใช้ชื่อไฟล์เป็น ปปดดวว (ปี เดือน วัน)
3. copy ไฟล์นั้นแล้วนำไปลงไว้ที่ โฟลเดอร์ D:\iDoc
พอจะทำอย่างไรได้บ้างใน access ครับ

สวัสดีครับ ผมได้ลองทำโปรแกรมแบบที่ต้องการให้ดูตัวอย่างนะครับ
เมื่อเปิดมา ถ้าเรากด เลือกไฟล์ จะมี Dialog ให้เราเลือกไฟล์

เมื่อกดเลือกแล้ว ก็ไปกำหนด ชื่อใหม่ได้ครับ


เมื่อเราตั้งชื่อเสร็จกด ส่งออกไฟล์ จะได้ไฟล์ดังในรูป


ตัวอย่างคำสั่ง

โค๊ด: [Select]
Private Sub Command13_Click()
Call Copy
End Sub
Private Sub Import_Click()
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
If f.Show Then
    For i = 1 To f.SelectedItems.Count
        sFile = filename(f.SelectedItems(i), sPath)
        Me.GetFileName = sFile
        Me.GetFilePath = sPath
    Next
End If
End Sub
Sub Copy()
Dim sPath, sfilename, sLink, Snow, sCopyInto, myOutput As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Snow = Now
Snow = Format(Date, "YYYYMMDD")
sfilename = GetFileName
myOutput = Right(sfilename, Len(sfilename) - InStrRev(sfilename, "."))
sPath = GetFilePath
sLink = sPath & sfilename
sCopyInto = "D:\iDoc\" & Me.NewName & Snow & "." & myOutput
fso.CopyFile sLink, sCopyInto
Set fso = Nothing
End Sub
Public Function filename(ByVal strPath As String, sPath) As String
    sPath = Left(strPath, InStrRev(strPath, "\"))
    filename = Mid(strPath, InStrRev(strPath, "\") + 1)
End Function
ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

86
ห้อง MS Access / > พิมพ์ออกเป็นไฟล์ PDF
« เมื่อ: 11 พ.ค. 61 , 13:09:46 »
ถ้าหมายถึงแต่ละหน้ามาจากแต่ละ Report ต่างกัน ให้นำแต่ละ Report มาใส่เป็น Sub Report ใน Report เปล่าๆสักตัวเหมือนอย่างในรูปที่มี WCH1, WCH2, WCH3 แล้วกำหนด Can Grow และ Show Page Header and Page Footer ของ Sub Report Control เป็น Yes และเพิ่ม Page Break Control คั่นระหว่างแต่ละ Sub Report เพื่อให้ขึ้นหน้าใหม่ทุกครั้งที่พิมพ์ Sub Report ตัวต่อไป ตอนพิมพ์ก็เลือกเครื่องพิมพ์ที่เป็น Pdf Printer ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

87
เป็นตัวอย่างของอ.สุภาพ เขียนไว้ โปรแกรม MS Access  เสียงเรียกคิว

https://drive.google.com/file/d/1HQuSBEj0aaePrM-jpw-f64rqXSctLwTf/view?usp=sharing

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

88
Private Sub SendMail_Click()
Dim App As New Outlook.Application
Dim Email As Outlook.MailItem
Dim fileName As String, today As String
today = Format(Date, "DDMMYYYY")
fileName = Application.CurrentProject.Path & "\Report1_" & today & ".pdf"
DoCmd.OutputTo acReport, "Report1", acFormatPDF, fileName, False

Set Email = App.CreateItem(olMailItem)
With Email
    .Recipients.Add "ใส่อีเมลผู้รับจดหมาย"
    .Subject = "ชื่อเรื่อง"
    .Body = "รายละเอียดเนื้อหา"
    .Attachments.Add fileName
    .Send
End With

MsgBox "ส่ง Email เสร็จแล้ว!", vbInformation, "EMAIL STATUS"

Set Email = Nothing
Set App = Nothing

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

89
ห้อง MS Access / > เปลี่ยนแป้นภาษาด้วย VB
« เมื่อ: 26 มี.ค. 61 , 13:25:36 »
เมื่อกดเครื่องหมาย * ใน textbox1 แล้วให้แป้นพิมพ์เปลี่ยนเป็นภาษาอังกฤษ เราต้องเขียนโค๊ต อย่างไรครับ

สามารถทำได้ครับ กรณีที่เรากดปุ่ม * แล้วให้เปลี่ยนภาษาตามที่เรากำหนดไว้สามารถทำได้ดังนี้
ผมกำหนด textbox ชื่อ text1

คำสั่งบน Module

โค๊ด: [Select]
Private Declare PtrSafe Function ActivateKeyboardLayout Lib "user32.dll" (ByVal mylanguage As Long, Flag As Boolean) As Long
Private Const Eng = 1033 
Private Const Th = 1054
Sub keyEng()
Call ActivateKeyboardLayout(Eng, True)
End Sub
Sub KeyTh()
Call ActivateKeyboardLayout(Th, True)
End Sub

คำสั่ง Event ที่ Text1
โค๊ด: [Select]
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyMultiply Then
Call keyEng
End If
End Sub
ตัวอย่างการใช้งานด้านล่างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

90
ห้อง MS Access / > เปลี่ยนแป้นภาษาด้วย VB
« เมื่อ: 26 มี.ค. 61 , 10:13:02 »
> คีย์บอร์ดไม่มีปุ่มเปลี่ยนภาษาเหรอครับ
> ตั้งค่าให้เมื่อมาใช้ textbox1 ให้เปลี่ยนภาษาตั้งต้นเป็นภาษาอังกฤษได้ตามรูป (ถ้าจะพิมพ์ไทยก็กดปุ่มเปลี่ยนภาษา~)


> เขียนฟังก์ชั่นให้ "*" เป็นปุ่มเปลี่ยนภาษาแล้วให้ textbox1 เรียกใช้งานฟังก์ชั่นนั้นอีกที (ได้หรือไม่,ทำอย่างไรรอดูกันต่อไปครับ :smile:)
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

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