แสดงกระทู้

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 ... 14 15 16 [17] 18 19 20 21
289
ห้อง MS Access / : Default Printer ของ Report
« เมื่อ: 26 พ.ค. 61 , 09:06:08 »
อ๋อจริงด้วยครับ ของผมตั้งไว้ที่ Use Specifi Printer ต้องเลือกเป็น Default Printer ถูกต้องหรือเปล่าครับ
ใช่ครับคุณ Prajak
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

290
ห้อง MS Access / : Generate Auto Number แบบ Fixed Format
« เมื่อ: 25 พ.ค. 61 , 12:56:02 »
ถ้าใช้ Dlast ละผมว่าไม่น่าจะทำให้ช้านะเดี่ยวลองทำให้ดูคับ
โพสต์นี้ได้รับคำขอบคุณจาก: udomchok

291
ห้อง MS Access / : Default Printer ของ Report
« เมื่อ: 25 พ.ค. 61 , 11:56:49 »
สอบถามตามรูปครับ ผมสร้าง Report บนคอมเครื่องหนึ่ง แล้วเวลาไปใช้โปรแกรม access บนคอมอีกเครื่องเพื่อPrint report มันขึ้นตามนี้ครับ เป็นเรื่องปกติหรือเปล่า เข้าใจว่าเหมือนมันจำค่า Default Printer จากเครื่องที่เราสร้าง report ซึ่งก็จะเป็นแค่ครั้งแรกครั้งเดียว


ตรงตั้งค่าของรายงาน ตรงส่วนนี้ท่านตั้งไว้อย่างไรครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

292
ห้อง MS Access / : Generate Auto Number แบบ Fixed Format
« เมื่อ: 25 พ.ค. 61 , 11:22:39 »
Generate Auto Number แบบ Fixed Format
อยากได้ผผลลัพท์ออกมา แบบไหนครับลองอธิบายเพิ่มอีกนิดนะครับ
อาจจะมีวิธีอื่นๆ
โพสต์นี้ได้รับคำขอบคุณจาก: udomchok

293
ฟอร์มนี้ข้อมูลมาจากตารางโดยตรงแน่เลย
เพราะปกติถ้าผ่านคิวรี่ตรงลบจะไม่แสดง
คำสั่งปิด ปุ่มลบตามนี้เลย


Private Sub Form_Load()
Form.Requery
Me.AllowDeletions = False
End Sub

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

294
ห้อง MS Access / : สร้าง runing number บนฟอร์ม
« เมื่อ: 23 พ.ค. 61 , 12:51:35 »
ใช่ครับ คุณ Prajak

จากตัวอย่าง ถ้าจะให้ดีสั่ง Requery ตอนโหลดฟอร์มมาซักครั้งเพื่อป้องกันข้อผิดพลาดนะครับเพราะ เป็นฟังชั่นทำงานกับข้อมูลบน Form

เช่น
Private Sub Form_Load()
Form.Requery
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, มาลี

295
ห้อง MS Access / : สร้าง runing number บนฟอร์ม
« เมื่อ: 23 พ.ค. 61 , 10:31:00 »
ลองดูตัวอย่างนี้นะครับ น่าจะโอเคสุดละ

บน Module

โค๊ด: [Select]
Public Function RowNum(frm As Form) As Variant
On Error GoTo Err_RowNum
   
    With frm.RecordsetClone
        .Bookmark = frm.Bookmark
        RowNum = .AbsolutePosition + 1
    End With
   
Exit_RowNum:
    Exit Function
   
Err_RowNum:
    If Err.Number <> 3021& Then
        Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description
    End If
    RowNum = Null
    Resume Exit_RowNum
End Function

ที่ textbox ชื่อ NO ใส่ =RowNum([Form])
ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, มาลี

296
น่าจะเป็นแบบนี้ไหมครับ

โค๊ด: [Select]
If  (Type_cmb) = "All" Then
Type_cmb = "*"
 DoCmd.SetWarnings False
 DoCmd.OpenQuery "StockCard"
 DoCmd.OpenForm "ViewStockCard"
 DoCmd.SetWarnings true
else
  DoCmd.SetWarnings False
  DoCmd.OpenQuery "StockCard"
  DoCmd.OpenForm "ViewStockCard"
  DoCmd.SetWarnings true
end if
เราเปลี่ยนแค่ว่าต้องการกำหนดให้ถ้าเป็น ALL ก็ให้แทนค่าใน Combobox เป็น * ครับ ถ้าเป็นรายการอื่นก็ให้รันคิวรี่และเปิดฟอร์มตามปกติ
โพสต์นี้ได้รับคำขอบคุณจาก: Earth

297
ห้อง MS Access / : สร้าง runing number บนฟอร์ม
« เมื่อ: 22 พ.ค. 61 , 11:59:23 »
ลองดูตัวอย่างนี้นะครับ
ผมลองกรองแล้วก็ยังรันปกติ
ผมใส่ Code ดังนี้

Private Sub Form_Current()
Me.No.ControlSource = "=RunNumber([Sale_Index])"
End Sub

Sale_Index คือชื่อ Control ครับ
No คือชื่อ Unbound textbox
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, Eik Q Sang

298
ห้อง MS Access / : สร้าง runing number บนฟอร์ม
« เมื่อ: 22 พ.ค. 61 , 10:39:14 »
ลองดูอีกตัวอย่างนะครับ

บน Module

โค๊ด: [Select]
Global sNumber As Long
Global lastcall As Date
Function RunNumber(i) As Long
 If Now - lastcall > 1 / 60 / 60 / 24 Then
        lastcall = Now
        sNumber = -1
        End If
    sNumber = sNumber + 1
    RunNumber = sNumber
    End Function
ที่ฟอร์ม สร้าง Unbound Textbox ขึ้นมา 1 ตัว ใส่
=RunNumber([ชื่อของ Control ที่เราจะนับอันไหนก็ได้ในฟอร์มเลือกมา 1 ตัว])
แค่นี้ก็จะสามารถรันได้เหมือนกันครับ

หมายเหตุ
ถ้ารันฟอร์มแล้ว ตัวเลขที่รันตัวแรกไม่ใช้ 1 อาจจะเป็น 0 หรือ 2 ก็ให้เพิ่มลดที่ตรงนี้ได้เลยนะครับ
Global sNumber As Long
Global lastcall As Date
Function RunNumber(i) As Long
 If Now - lastcall > 1 / 60 / 60 / 24 Then
        lastcall = Now
        sNumber = -1 '-1 หรือ 0 หรือ 1 เลือกกำหนดได้
        End If
    sNumber = sNumber + 1
    RunNumber = sNumber
    End Function
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, Eik Q Sang

299
คือผมต้องการสร้างปุ่มไว้ Random ฟิวในเทเบิ้ลที่เป็น Text ต้องเขียนโค้ดอย่างไรบ้างครับ ขอบคุณมากครับผม

ผมไม่แน่ใจว่า จะเอาไปใช้ประโยชน์ในการทำงานของโปรแกรมตรงส่วนไหนนะครับ
แต่ผมได้ทำตัวอย่างการ random ข้อมูลที่เป็น text มาให้ดูเพื่อเป็นแนวทาง

ตัวอย่าง Code
Private Sub Command16_Click()
Randomize
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("table1", dbOpenDynaset)
With rs
If .EOF Then
MsgBox "ไม่พบข้อมูลในตารางที่ระบุ!!", vbOKOnly, "ระบบเช็คข้อมูล"
Else
.MoveLast
.AbsolutePosition = CLng(Rnd() * .RecordCount)
Me.text1 = !factory
End If
.Close
End With
Set rs = Nothing
End Sub

หมายเหตุ
table1 คือ ชื่อตารางที่ต้องการ Random
text1 คือ ชื่อ textbox ที่ต้องการแสดงผลการ Random
Factory คือชื่อ Field ในตารางที่ต้องการ นำมา Random
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

300
จากข้อมูลแล้ว
น่าจะมีการสร้างตาราง ความสัมพันธ์ประมาณนี้ครับ



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

301
ห้อง MS Access / : การใซ้ Checkbox ใน subform ของaccess
« เมื่อ: 16 พ.ค. 61 , 08:38:47 »
ทำให้แล้วครับ
เมื่อเปิดโปรแกรมมาให้ซ่อนรายการ
โค๊ด: [Select]
Private Sub Form_Current()
Call ShowList
End Sub
Sub ShowList()
If IsNull(Me.cb_GSP) Then
Me.Check20.Visible = False
Me.factory.Visible = False
Me.SteelID.Visible = False
Me.Adress.Visible = False
Me.PhoneNumber.Visible = False
Me.Size_Type.Visible = False
Me.Thickness.Visible = False
Me.Length.Visible = False
Me.weight.Visible = False
Me.Price.Visible = False
Else
Me.Check20.Visible = True
Me.factory.Visible = True
Me.SteelID.Visible = True
Me.Adress.Visible = True
Me.PhoneNumber.Visible = True
Me.Size_Type.Visible = True
Me.Thickness.Visible = True
Me.Length.Visible = True
Me.weight.Visible = True
Me.Price.Visible = True
End If
End Sub
Private Sub Image57_Click()
Call ShowList
End Sub

ตัวอย่างให้แสดงข้อมูลทั้งหมดอีกครั้ง และให้ cb_GSP เป็นค่าว่าง
โค๊ด: [Select]
DoCmd.ApplyFilter , " Size_Type like '*'"
Me.cb_GSP = Null

ผมได้ทำไอค่อนให้กดเพื่อ ซ่อนรายการให้ด้วยนะครับ ที่เป็นรูปดวงตา


ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

302
ผมได้ทำตัวอย่างให้ใหม่นะครับ
ที่แก้ไปคือ
1.การค้นหาข้อมูล Size_Type ให้เลือกเสร็จแล้วกดค้นหา ถ้าต้องการแสดงข้อมูลทั้งหมดอีกครั้งให้ลบรายการออกแล้วกดค้นหา
2.เพิ่ม Check20 ถ้ากดติ๊กเลือกอยู่ก็จะปริ้น ส่วนที่ติ๊กเลือก
3.แก้ไขฟอร์มเป็น Continuous Forms
เพราะดูจากข้อมูลแล้วไม่มีความจำเป็นที่จะทำ Sub Form
ตัวอย่างด้านล่าง

4.ถ้าต้องการ เคลีย Checkbox เพื่อติ๊กเลือกใหม่ กดที่ปุ้ม ลบ นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: nousinh

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

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

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

305

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

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

หน้า: 1 ... 14 15 16 [17] 18 19 20 21