แสดงกระทู้

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 ... 15 16 17 [18] 19 20 21
307
ต้องการออกแบบโปรแกรมดังนี้ครับ
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

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

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

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



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

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

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

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


คิวรี่ 2 สร้าง Primarykey ให้ RunID
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

312
ขอโทษด้วยครับ ลืมบอกไปว่า ฟิลด์ 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([ชื่อฟิลล์ที่จะนับ])

ผลที่ได้

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

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

314
รับทราบครับ

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

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



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

316
เจอกระทู้ที่ตรงกับปัญหาที่เจอพอดีเลย ไม่คิดว่าจะเจอคุณ 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 ตัวเดียวกันไหมครับ เพราะลองเทส ใช้คิวรี่ก็ได้เหมือนกัน
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

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

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

319
ก่อนอื่นผมต้องขอขอบคุณมาก ๆ นะครับ ที่เข้ามาช่วยตอบผม

ผมขอสอบถามเพิ่มเติมหน่อยครับ
Dim strWhere As String หรือ Dim strTemp หรือ Dim I As Integer มันคืออะไรหรอครับ ( 2อันหลังนี้ผมเอามาจาก Youtube ครับ )
แล้วถ้าหากว่าผมต้องการศึกษาเรื่องการเขียนโค๊ดพวกนี้เอง ผมต้องใช้ Keyword ใน Youtube ว่าอะไรหรอครับ

จากตัวอย่าง
Dim. คือ คำสั่ง ( statements) สำหรับประกาศตัวแปร ครับ
strWhere  คือ  ชื่อของตัวแปรที่ต้องการประกาศ
ส่วน As .... date  , Integer , string , อื่นๆๆ เป็นส่วนที่บอกให้ Visual Basic ทราบว่าต้องการกำหนดชนิดของข้อมูลเป็นแบบไหน.
date วันที่
integer ตัวเลข จำนวนเต็ม
String ข้ออมูลชนิดchar หลายๆตัวนํามาเชื่อมต่อกันเป็นstring
ยังมีชนิดข้อมูลอื่นๆอีกครับ

ส่วนการศึกษาเรื่องพวกนี้ เราควรจะมีการตั้งโจทย์ไว้ก่อนว่าเราต้องการอะไร อยากให้แสดงผลอะไรก่อนเหมือนที่คุณกำลังคิดว่าเราจะพิมพ์หน้าผ่าน Filter Form ต้องทำอย่างไร เมื่อได้โจทย์แล้ว เราก็ไปหาตามโจทย์นั้นเลย แต่มือใหม่ยังไม่เข้าใจเกี่ยวกับ Syntax เลย ก็สอบถามผมได้ครับผมยินดีให้คำปรึกษา
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

320
ที่ CommandBotton Event On Click
โค๊ด: [Select]
Private Sub Command15_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 "Report1", acViewPreview, , strWhere
    End If
    End Sub
หมายเหตุ Report1 คือชื่อ ของรายงานที่จะแสดง
ถ้าไม่ต้องการดูตัวอย่าง อยากให้กดปุ่มแล้ว print เลยให้แก้เป็น
DoCmd.OpenReport "Report1", acViewNormal, , strWhere

ถ้าอยากให้สะดวกในการ ล้าง Filter เพื่อกำหนดใหม่อาจจะสร้าง ปุ่มขึ้นมาอีก 1 อันใส่คำสั่งไปว่า

Me.Form.FilterOn = False

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

321
ห้อง MS Access / > Error "The database engine could not lock table"
« เมื่อ: 08 พ.ค. 61 , 17:38:58 »
ตอนรัน Queryขึ้นแจ้งเตือนดังรูปด้านล่าง ซึ่งไม่ได้เปิด Tableดังกล่าว หรือTableใด รวมถึงไม่มีการเปิดฟอร์ม Reportใดๆไว้เลยค่ะ
ในแต่ตอนรันครั้งแรก ระบบเอาข้อมูลจากตารางMonthly_FG ไปใช้ต่ออีกหลายQuery
คิดว่าน่าจะมีProcess ค้างอยู่ แต่ไม่รู้ตรงไหน
เวลาจะรันครั้งที่สอง จึงต้องปิดและเปิดโปรแกรมใหม่ถึงจะสามารถรันได้ปกติ

อยากทราบว่ามีวิธีไหนที่จะเขียนโค้ดดักก่อนว่า ให้เคลียร์หรือปิดProcessทั้งหมดก่อน หรือปิดและเปิดโปรแกรมใหม่ไหมคะ
เพื่อจะได้ไม่มีErrorแบบนี้เกิดขึ้น



พอเออเร่อ สั่ง Compact and Repair  หรือ ซ่อมแซมฐานข้อมูล อาการนี้หายไหมครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Earth

322
ผมต้องการสร้าง ตารางใหม่โดยใช้ Query แต่ให้มีการ Running number

ในฟิลด์ผมใส่ AutoNumber: (SELECT Count(*) From PricePP as a Where a.SizePP <= a.SizePP)
กดรันแล้ว ไม่สามารถรันได้
ขอคำแนะนำหน่อยครับ

ที่ตารางใหม่มีข้อมูลอะไรอยู่ก่อนแล้วบ้างครับ ที่จะนำไป Make Table หรือต้องการสร้างตารางใหม่ โดยให้มีการ Running Number 1 2 3 ไปถึงจำนวนที่กำหนดคับ

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

323
งงครับ ผมลองเอาไปเปิดที่เครื่องอื่นก็ error เหมือนกัน excel 2010 ครับ
สงสัยต้อง Teamview ไปดูนะครับ แบบนี้ ส่งรหัส ทีมวิวทางข้อความได้เลยนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

324
ผมใช้ SELECT Final2.*, SumHR2.* คือเอาทุกฟิลล์มาแสดง แล้วไปกำหนด is not null แต่ละฟิลล์อีกที
ส่งไฟล์ตัวอย่างให้ทางเมลแล้วนะครับ
ทดลอง Export แล้ว ไม่มีติด Error ใดๆนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

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