แสดงกระทู้

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 ... 22 23 24 [25] 26 27 28 ... 32
433
ผมลองดูแล้วครับ แต่ยังไม่ได้ตามที่ต้องการ

ผมได้แนบไฟล์ตัวอย่างไว้แล้ว
สวัสดีครับ ตัวอย่างนี้ ผมใช้คิวรี่ อ้างอิงไปที่ตัว Combobox แล้วสั่ง Requery ด้วย
ให้ไปศึกษา คิวรี่ชื่อ List 1 ถึง 3 ครับ
List1 แสดงรายการ Type
List2 แสดงรายการ Size (ที่มีในรายการ Type จาก List1)
List3 แสดงรายการ ยี่ห้อ (ที่มีในรายการ Type จาก List1 และ ที่มีในรายการ Size จาก List2)

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

435
ต้องการออกแบบโปรแกรมดังนี้ครับ
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
ตัวอย่างด้านล่าง

436
ลองดูตัวอย่าง,แนวทางโดยอาจารย์ TTT และท่าน Newbies จากกระทู้นี้ครับ
> สอบถามการใช้ combo Filter มากกว่า1รายการ หรือ การใส่ filter sort แต่ละ column
ของผมเป็นการเลือกหลายหัวข้อโดยใช้ listbox เข้ามาช่วยครับ
สำหรับอันนี้น่าจะต้องทำตามที่ อาจารย์ TTT ทำให้ดูนะครับ
ถ้าท่านทำไม่ได้ ก็ลองส่งตัวอย่างไฟล์มาครับเดี่ยวผมทำให้ดู
วิธีการคือ ในคิวรี่เดียวกันนั้น กำหนดคิวรี่ดึงค่าจากตัว Combobox เมื่อกำหนดค่าตัวแรกมาแล้ว Combobox ตัวต่อมา ใน Event GotFocus สั่ง Requery ก็จะได้รายการ เฉพาะที่เลือกจาก Combobox ตัวแรก ครับ

437
ห้อง MS Access / > การใซ้ Checkbox ใน subform ของaccess
« เมื่อ: 10 พ.ค. 61 , 18:48:42 »
ลองดูแบบนี้นะครับ
เรื่องฐานข้อมูลท่านออกแบบเองเลย อันนี้ทำสร้างพอที่จะใช้งาน ตัวอย่างได้
วิธีการคือ สร้างคิวรี่ เพื่อกรองข้อมูลจาก ID และสถานะ CheckBox ของเราพอได้มาแล้วกด
เปิดฟอร์มมา ก็จะได้ข้อมูลตามที่เราเลือกไว้
หรือถ้าอยากได้เพิ่มเติมแบบไหน ก็สอบถามได้นะครับ

หน้าแรกกดเลือก

หน้าต่อไป



ตัวอย่างด้านล่าง


438
ตารางหลักผมสร้างฟอร์มในการใส่ค่าต่างๆ และใช้ Queryในการสร้างตาราง แต่อยากทำให้ตารางหลักทำ Combobox แบบมีเงื่อนไข
ตัวอย่าง
type       Size      ยี่ห้อ
ปอนด์-80  31*43  อินโด
              25*36  อินโด



ความหมายคือ คุณต้องการให้ มีคอมโบบ๊อก 3 ตัว
เมื่อเลือก type ในคอมโบบ๊อกแรก
Combobox Size ก็จะมี รายการเฉพาะ ที่ตรงกับ Type ที่เราเลือก
ComboBox ยี่ห้อ ก็จะเอามาจาก ที่เราระบุ Type และ Size ไว้ แบบนี้หรือเปล่าครับ

439
ใส่แล้วครับ แต่เลข RunID ยังได้เป็น 1 ทุกฟิลด์อยู่ครับ
ตรงอ้างอิงผิดด้วยครับ
RunID: RunNumber([Type])

ต้องแบบนี้

440
ใส่ Criteria ของ Type ไปว่า
IS NOT NULL



ตรงอ้างอิงผิดด้วยครับ
RunID: RunNumber([Type])

ต้องแบบนี้

441
ห้อง MS Access / > การใซ้ Checkbox ใน subform ของaccess
« เมื่อ: 10 พ.ค. 61 , 10:30:18 »
สวัสดีครับผมอยากสอบถามเรื่องการใช้ Checboxใน subform ของ access. ถ้าเลือกแล้ว สินค้าที่เราเลือกจะบันทึกไปยังอีกฟอร์มหนึ่ง แล้วเราสามารถทำรายงานออกมา. ผมขอรบกวน ถามผู้รู้หน่อยได้ไหมครับ :smile: พอมี code หรือวิดีโอ ตัวอย่างไหมครับ.
ยังไม่ค่อยเข้าใจคำถามครับ
มีไฟล์ตัวอย่างไหมที่ทำอยู่ไหม เดี่ยวลองทำให้ดู

442
ขอบคุณครับ แล้วถ้าต้องการให้ข้อมูล group กัน และกำหนดให้เป็น PK ทำยังไงได้บ้างครับ
คงต้องมี คิวรี่เพิ่มอีกตัวเพื่อทำ PK ครับ และ Group by ใน คิวรี่ Maketable
จากคิวรี่แรก


คิวรี่ 2 สร้าง Primarykey ให้ RunID

443
ขอโทษด้วยครับ ลืมบอกไปว่า ฟิลด์ SizePP ในตาราง PricePP มีค่าซ้ำกัน จะต้องทำยังไงครับ
ทำได้ครับแต่ต้องเพิ่มคำสั่งซะหน่อยประมาณนี้ครับ
บน 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 = 0
        End If
    sNumber = sNumber + 1
    RunNumber = sNumber
    End Function

ส่วนที่ตัว Query
ใส่ RunID: RunNumber([ชื่อฟิลล์ที่จะนับ])

ผลที่ได้


444
ห้อง MS Access / > Sumค่า Grand Total ใน Report Footer
« เมื่อ: 09 พ.ค. 61 , 17:03:26 »
ที่ ตัว Report Event  On Load
ใส่คำสั่ง Me.Report.requery
ครับอาการแบบนั้นหายไปแน่นอน

445
รับทราบครับ

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

446
มีข้อมูลSizePP ข้อมูลเดียวครับ ผมจะนำไปทำคอมโบบ็อก

งั้นข้อมูลในตารางเป็น text ใช่ไหมครับ
ผมแนะนำให้ใช้ DCount แทนดีกว่า

RunID: DCount("SizePP","PricePP","SizePP <='" & [SizePP] & "'")

PricePP คือ ชื่อเทเบิ้ล หรือคิวรี่
SizePP คือ ชื่อฟิลล์

ตัวอย่างด้านล่าง

447
ผมสงสัยครับว่าไฟล์ที่คุณ Newbies แนบมา
ทำไมเวลากดที่รูปสามเหลี่ยม เพื่อดู filter ของ Query แล้วไม่มีขึ้นอะไรมาให้เลือกเลยอ่ะครับ



ที่บางรายการมีให้เลือก ติ๊กด้านล่างได้ แต่อีก คอลัมน์ไม่สามารถติ๊กเลือกได้ เพราะ ข้อมูลมีความหลากหลายของข้อมูลในคอลั้มน์นั้นมากเกินไป ถ้าต้องการ Filter ก็กด ไปพิมพ์ Filter เอาได้ครับ แต่แบบติ๊กเลือกไม่มีให้ใช้

448
เจอกระทู้ที่ตรงกับปัญหาที่เจอพอดีเลย ไม่คิดว่าจะเจอคุณ Newbies อีกแล้ว
ผมก็เจอปัญหาเดียวกับคุณroyaltool คือ ทำไม Split form ที่สร้างจาก query ไม่สามารถสั่งพิมพ์ report จาก filter ใน split form ได้ แต่ split form ที่สร้างจาก table สามารถ filter แล้วสั่งพิมพ์ได้ครับ
ใช้คำสั่งตามที่คุณ Newbies แนะนำ
Private Sub Command220_Click()
Dim strWhere As String
    If Me.Dirty Then
        Me.Dirty = False
    End If
    If Me.NewRecord Then
        MsgBox "Select a record to print"
    Else
        strWhere = Me.Form.Filter
        DoCmd.OpenReport "Production »Õ»Ñ¨¨ØºÑ¹", acViewPreview, , strWhere
    End If
End Sub
ที่ตัวรายงาน กับ ฟอร์ม ใช้ Query ตัวเดียวกันไหมครับ เพราะลองเทส ใช้คิวรี่ก็ได้เหมือนกัน

449
ใช่ครับถามมาหลายๆหัวข้อหลายๆแบบผมก็จะได้ทดลองทำไปด้วยครับ ได้เรียนรู้ไปในตัว โดนใจหรือไม่ หรือไม่ตอบโจทย์ หรือต้องเพิ่มเติมยังไง เราจะได้มาทำกันผมก็เริ่มต้นจากบอร์ดนี้ตั้งแต่ 0 เหมือนกันครับ ได้เจออาจารย์ TTT (FC แกเลย) และอาจารย์ท่านอื่นๆ ได้ศึกษา Code VBA  หลายๆแบบ และอาจารย์ที่ทำให้ผมสามารถทำโปรแกรมตัวแรกได้เลยก็คืออาจารย์วรพจน์ครับ ถ้าท่านไม่เป็นเลยเข้ามาถามผมว่าก็ดีแล้วเผื่อคนอื่นจะได้เข้ามาศึกษาจากโจทย์ที่เราทำกันไว้ได้ครับ

450
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ
แอดไอดีไลน์ได้ทางข้อความคร้บ

หน้า: 1 ... 22 23 24 [25] 26 27 28 ... 32