กระทู้เก่าบอร์ด อ.Yeadram
2,084 7
URL.หัวข้อ /
URL
link table แต่เก็บใน NOTEPAD
DoCmd.TransferDatabase acLink, "Microsoft Access", "\\pha\51fidonB.mdb", acTable, tb(i), tb(i), False
การ link database ที่ผมทำอยู่คือ เมื่อ FORM LOAD ประมาณนี้
เมื่อเปลี่ยนย้าย ก็ต้องแก้ PATH ให้ถูกต้อง
ผมอยากให้ USER เขา เปลี่ยนเอง ว่าจะให้ LINK ไปที่ไหน
ที่คิดออกคือ ทำ inputbox มารับค่า แล้วใส่ลงตัวแปร
ที่เคยเห็นบาง PROGRAM เขาเก็บใส่ NOTEPAD
แล้ว SAVE ไว้ เมื่อ USER จะเปลี่ยนไปแก้ที่ TEXT
และ SAVE ไว้ ทำให้ USER ไม่ต้องกรอกทุกครั้งที่เข้า PROGRAM
เขาทำอย่างไรครับ
การ link database ที่ผมทำอยู่คือ เมื่อ FORM LOAD ประมาณนี้
เมื่อเปลี่ยนย้าย ก็ต้องแก้ PATH ให้ถูกต้อง
ผมอยากให้ USER เขา เปลี่ยนเอง ว่าจะให้ LINK ไปที่ไหน
ที่คิดออกคือ ทำ inputbox มารับค่า แล้วใส่ลงตัวแปร
ที่เคยเห็นบาง PROGRAM เขาเก็บใส่ NOTEPAD
แล้ว SAVE ไว้ เมื่อ USER จะเปลี่ยนไปแก้ที่ TEXT
และ SAVE ไว้ ทำให้ USER ไม่ต้องกรอกทุกครั้งที่เข้า PROGRAM
เขาทำอย่างไรครับ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02196
ผมใช้การเก็บค่า Config เป็น text ครับ โดยใช้นามสกุลเป็น .ini ครับ (จริง ๆ ต้องเป็น .txt น่ะครับ แต่มันดูธรรมดาไป...เลยเปลี่ยนเป๋น .ini ซะ)
และใช้การ Link Text file นี้เข้าไปครับ เช่น
"StatDrive","MaxAppDay","AutoPrintTime1","AutoPrintTime2"
"D:\",14,1100,1445
โดยบรรทัดแรกเป็นชื่อ Column
บรรทัดที่ 2 เป็นค่าของแต่ละ Column
ผมใช้ OnOpen นะครับ
Private Sub Form_Open(Cancel As Integer)
If Len(Dir("C:\LIS\LIS.ini", 2)) = 0 Then
If Len(Dir("C:\LIS\LIS.txt", 2)) = 0 Then
MsgBox "ไม่พบแฟ้มข้อมูลที่ต้องการ" & _
"@กรุณาตรวจสอบ" & _
"@", vbInformation, "แฟ้มข้อมูลไม่ครบ"
Quit
End If
Else
DelAllTAble
FileCopy "C:\LIS\LIS.ini", "C:\LIS\LIS.txt"
DoCmd.TransferText acLinkDelim, , "TabHospUser", "C:\LIS\LIS.txt", True
StatDrive = DLookup("StatDrive", "TabHospUser")
DoCmd.TransferDatabase acLink, "FoxPro 2.6", StatDrive & "Pub\", acTable, "Patient1", "Patient1"
DoCmd.TransferDatabase acLink, "FoxPro 2.6", StatDrive & "Pub\", acTable, "Doctor", "Doctor"
End Sub
ประมาณนี้ครับ ลอง apply ดูนะครับ
และใช้การ Link Text file นี้เข้าไปครับ เช่น
"StatDrive","MaxAppDay","AutoPrintTime1","AutoPrintTime2"
"D:\",14,1100,1445
โดยบรรทัดแรกเป็นชื่อ Column
บรรทัดที่ 2 เป็นค่าของแต่ละ Column
ผมใช้ OnOpen นะครับ
Private Sub Form_Open(Cancel As Integer)
If Len(Dir("C:\LIS\LIS.ini", 2)) = 0 Then
If Len(Dir("C:\LIS\LIS.txt", 2)) = 0 Then
MsgBox "ไม่พบแฟ้มข้อมูลที่ต้องการ" & _
"@กรุณาตรวจสอบ" & _
"@", vbInformation, "แฟ้มข้อมูลไม่ครบ"
Quit
End If
Else
DelAllTAble
FileCopy "C:\LIS\LIS.ini", "C:\LIS\LIS.txt"
DoCmd.TransferText acLinkDelim, , "TabHospUser", "C:\LIS\LIS.txt", True
StatDrive = DLookup("StatDrive", "TabHospUser")
DoCmd.TransferDatabase acLink, "FoxPro 2.6", StatDrive & "Pub\", acTable, "Patient1", "Patient1"
DoCmd.TransferDatabase acLink, "FoxPro 2.6", StatDrive & "Pub\", acTable, "Doctor", "Doctor"
End Sub
ประมาณนี้ครับ ลอง apply ดูนะครับ
3 @R02200
ประมาณนี้แหละครับ เดี๋ยวผมไปทดลองดูก่อน ขอบคุณครับ
ส่วนประเด็นของคุณ paitoon เกรงว่าจะเป้นคนละประเด็นกัน
ยังงัยเปิดกระทู้ใหม่ก็ได้ครับ ส่วนการส่งออก ข้อมูลทำโดยใช้ macro
หรือ เขียนเป็นคำสั่งก็ได้ครับ มันมีให้เลือกว่าจะส่งออกว่าเป็นแฟ้มประเภทไหนด้วย เช่นตัวอย่างนี้ส่งออกแบบ XLS
DoCmd.OutputTo acReport, "Drt", "MicrosoftExcel(*.xls)", "", False, ""
ส่วนเงื่อนไขว่าจะออกช่วงเวลากี่วัน กี่เดือน กำหนดที่แหล่งข้อมูลครับ
ส่วนประเด็นของคุณ paitoon เกรงว่าจะเป้นคนละประเด็นกัน
ยังงัยเปิดกระทู้ใหม่ก็ได้ครับ ส่วนการส่งออก ข้อมูลทำโดยใช้ macro
หรือ เขียนเป็นคำสั่งก็ได้ครับ มันมีให้เลือกว่าจะส่งออกว่าเป็นแฟ้มประเภทไหนด้วย เช่นตัวอย่างนี้ส่งออกแบบ XLS
DoCmd.OutputTo acReport, "Drt", "MicrosoftExcel(*.xls)", "", False, ""
ส่วนเงื่อนไขว่าจะออกช่วงเวลากี่วัน กี่เดือน กำหนดที่แหล่งข้อมูลครับ
4 @R02201
คุณ krathok-man แล้วการ link table แต่เก็บใน NOTEPAD เข้าใช้ทำในกรณีไหนครับ ทำเพื่ออะไรครับ เพื่อเป็นความรู้ และอาจจะได้ใช้ในอนาคต
ขอบคุณครับ
paitoon
ขอบคุณครับ
paitoon
5 @R02203
ปกติก็ทำใน Access นั่นแหละครับ แต่ผมมีเหตุผลคือ ผมทำงานให้คนอื่นใช้
และอยู่ไกล คนใช้เขาจะย้าย Back Office ไปไว้เครื่องอื่น
ซึ่งผมต้องแก้ Link ("\\pha\51fidonB.mdb", ) ไปให้และส่งทาง mail ซึ่งไม่
ชัวว่าถูก PATH หรือไม่ ครั่น จะให้เขาทำเอง โดยเข้าไปแก้เอง ใน MDB
ก็ไม่แน่ว่าเขาจะทำได้ เพราะแก้เสร็จ ต้องทำ bypass ต้องทำ MDE
และส่งต่อ MDE ตัวใหม่ให้เพื่อนใช้ด้วย เพราะใช้หลายคน
ดังนั้นผมจึ่งคิดจะทำ MDE ตัวนี้ให้เสร็จ เมื่อเขาจะเปลี่ยนย้ายอย่างไร
ให้ไปแก้ที่ TEXT FILE เอา (จะไม่ต้องยุ่งกับ MDE ของเรา) และให้ MDE
ของเราไปอ่านค่าจาก TEXT อีกทีว่า เขาจะย้ายไปที่ไหน
เพราะคิดว่า USER น่าจะแก้ไขเป็น ประมาณนี้ครับ
แต่แค่คิดเฉย ๆ ยังไม่ได้ลองเลยครับ
และอยู่ไกล คนใช้เขาจะย้าย Back Office ไปไว้เครื่องอื่น
ซึ่งผมต้องแก้ Link ("\\pha\51fidonB.mdb", ) ไปให้และส่งทาง mail ซึ่งไม่
ชัวว่าถูก PATH หรือไม่ ครั่น จะให้เขาทำเอง โดยเข้าไปแก้เอง ใน MDB
ก็ไม่แน่ว่าเขาจะทำได้ เพราะแก้เสร็จ ต้องทำ bypass ต้องทำ MDE
และส่งต่อ MDE ตัวใหม่ให้เพื่อนใช้ด้วย เพราะใช้หลายคน
ดังนั้นผมจึ่งคิดจะทำ MDE ตัวนี้ให้เสร็จ เมื่อเขาจะเปลี่ยนย้ายอย่างไร
ให้ไปแก้ที่ TEXT FILE เอา (จะไม่ต้องยุ่งกับ MDE ของเรา) และให้ MDE
ของเราไปอ่านค่าจาก TEXT อีกทีว่า เขาจะย้ายไปที่ไหน
เพราะคิดว่า USER น่าจะแก้ไขเป็น ประมาณนี้ครับ
แต่แค่คิดเฉย ๆ ยังไม่ได้ลองเลยครับ
6 @R02208
ขอบคุณครับที่ช่วยอธิบายเพิ่มเติมให้ครั? ก็ขอให้ทำได้น่ะครับ
ขอบคุณครับ
paitoon
ขอบคุณครับ
paitoon
7 @R02328
ได้แล้วครับ
ใช้วิธี TRANFER TEXT เข้ามาเป็น TABLE
ok ขอบคุณครับ
ใช้วิธี TRANFER TEXT เข้ามาเป็น TABLE
ok ขอบคุณครับ
Time: 0.6648s
ขอบคุณครับ
paitoon