1
ห้อง MS Access / : ค้นหาชื่อ สระภาษาไทยแล้ว error ครับ
« เมื่อ: 08 พ.ย. 62 , 09:16:32 »
เครื่องหมาย % น่าจะเปลี่ยนเป็น * แทนครับ
โพสต์นี้ได้รับคำขอบคุณจาก: diehard4
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.
ขออนุญาตใช้กระทู้นี้ต่อคำถามเพิ่มเติมนะคะ
หนูมีโปรเจ็คชื่อ Sample หนูลองนำคำสั่งในนี้ไปประยุกต์ใช้เป็นดังนี้โค๊ด: [Select]oFSO.CopyFile CurrentProject.Path & "\" & CurrentProject.Name, "D:\" & "Backup " & CurrentProject.Name
ซึ่งมันก็ใช้ได้ดีเลยทีเดียว โดยจะได้ไฟล์สำรองเป็น BackupSample ตามที่ต้องการ
ประเด็นปัญหาก็คือ หากเราไปเปิดตัวไฟล์สำรอง BackupSample แล้วสั่งสำรองข้อมูล
มันก็จะได้ไฟล์สำรองตัวใหม่เป็น BackupBackupSample
หนูจึงอยากได้ว่า หากมีการเปิดไฟล์โปรเจ็คที่ มีชื่อขึ้นต้นว่า Backup
ก็ให้มีข้อความบอกผู้ใช้ว่า"ไฟล์นี้เป็นไฟล์สำรองไม่ควรเปิดใช้งานจนกว่าจะเปลี่ยนชื่อไฟล์ใหม่" ประมาณนี้ค่ะ
ไม่ทราบว่าต้องทำอย่างไรคะ
Function checkFileOpen(FilePath As String)
Dim iFile As Long
Dim OnErr As Long
On Error Resume Next
iFile = FreeFile()
Open FilePath For Input Lock Read As #iFile
Close iFile
OnErr = Err
On Error GoTo 0
Select Case OnErr
Case 0: checkFileOpen = False
Case 70: checkFileOpen = True
End Select
End Function
Private Sub Command0_Click()
Dim oFSO As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
If checkFileOpen("D:\" & "Backup " & CurrentProject.Name) = False Then
oFSO.CopyFile CurrentProject.Path & "\" & CurrentProject.Name, "D:\" & "Backup " & CurrentProject.Name
Set oFSO = Nothing
Else
MsgBox "ไฟล์นี้เป็นไฟล์สำรองไม่ควรเปิดใช้งานจนกว่าจะเปลี่ยนชื่อไฟล์ใหม่", vbInformation, "แจ้งเตือน"
End If
End Sub
RunningNo. Price Type
1 100 A
2 120 A
3 130 A
1 80 B
2 90 B
1 78 C
2 80 C
3 90 C
4 100 C
ไม่ทราบว่า ใน Query แบบนี้ ต้องทำเช่นไรครับผม
เช่น พนักงาน ID A001 อยากจะให้ดึงรูปภาพ ของพนักงานคนนั้น มาแสดงในฟอร์ม หรือ รายงาน โดยอยากให้ผูก ID กับชื่อ image file ทำอย่างไรครับ
\images\A001.jpg
\images\A002.jpg
\images\A003.jpg
\images\A004.jpg
ขอบคุณมากครับ
ขอบคุณค้า อันแรกทำได้แล้วค่ะ เหลือแสดงวันที่ค่ะทำคิวรี่แรกก่อนแบบนี้ครับโค๊ด: [Select]SELECT format(StockDate,"DD-MMM"), Takein, TakeOut, Balance
FROM StockBefore
UNION SELECT format(StockDate,"DD-MMM"), Takein, TakeOut, '' as Balance
FROM StockCard;
Option Compare Database
Public Sub MakeDate365(Optional ByVal pYear As Integer, _
Optional ByVal pTable As String = "TempDate365", _
Optional ByVal pField As String = "Stockdate")
Dim db As DAO.Database
Dim dte As Date
Dim dteLast As Date
Dim intYear As Integer
Dim rs As DAO.Recordset
Dim strMsg As String
On Error GoTo ErrorHandler
intYear = IIf(pYear = 0, Year(Date), pYear)
dte = DateSerial(intYear, 1, 1)
dteLast = DateSerial(intYear, 12, 31)
Set db = CurrentDb
Set rs = db.OpenRecordset(pTable, dbOpenTable, dbAppendOnly)
Do While dte <= dteLast
rs.AddNew
rs.Fields(pField).Value = dte
rs.Update
dte = dte + 1
Loop
rs.Close
ExitHere:
On Error GoTo 0
Set rs = Nothing
Set db = Nothing
Exit Sub
ErrorHandler:
strMsg = "Error " & Err.Number & " (" & Err.Description _
& ") in MakeDate365"
MsgBox strMsg
GoTo ExitHere
End Sub
SELECT TempDate365.StockDate, IIf(IsNull([Takein]),0,[Takein]) AS Take_in, IIf(IsNull([Takeout]),0,[Takeout]) AS Take_out, (select [BeforeQty] from [StockBeforeQuery] ) AS Before_Qty
FROM StockQuery RIGHT JOIN TempDate365 ON StockQuery.StockDate = TempDate365.StockDate
WHERE (((TempDate365.StockDate) Between [forms]![Main]![StockBefore] And [forms]![Main]![EndDate]));
SELECT T1.[Before_Qty]+(select nz(sum(T2.Take_in),0) from StockQuery2 as T2 where T2.StockDate <= T1.StockDate)-
(select nz(sum(T2.Take_out),0) from StockQuery2 as T2 where T2.StockDate <= T1.StockDate) AS TotalQty, *
FROM StockQuery2 AS T1
ORDER BY T1.StockDate;