台灣最大程式設計社群網站
線上人數
2547
 
會員總數:246709
討論主題:190127
歡迎您免費加入會員
討論區列表 >> ACCESS >> 有關查詢詢問
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
有關查詢詢問
價值 : 40 QP  點閱數:252 回應數:9
樓主

黑楓
門外漢
0 2
64 12
發送站內信

我要做一個查詢介面,但是遇到難題,有上網查看一些查詢介面的一些做法,但都不是我想要的,我想要做的查詢介面是可以自己在查詢的條件中輸入 AND或者OR(例如我要查詢 a and c或是 a or c,可以跳著輸入相關的條件),然後在從輸入的條件中篩選呈現,但是查詢介面的案例大都是某一段的連續篩選,例如a-c之間,想請問是否有人可以提供相關的案例參考或是說明一下,謝謝。




搜尋相關Tags的文章: [ ACCOUNT ] , [ and ] , [ or ] ,
本篇文章發表於2022-02-24 15:14
1樓
回應

P陳
檢舉此回應
1.在Form1 中放一個文字框名為 TB_Where 放
(A) ID=a or ID=c 或
(B) ID=a And ID=c

2.在 Form1 中放一個Button bn_click1
3.bn_click1 的程式
sqlstr="Select * from table1 where " & tb_where <--- 執行本句時依 TB_Where 內容來取出資料

set rs1=Currentdb.openrecordset(sqlstr)
rs1 就是所求
本篇文章回覆於2022-03-01 16:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

黑楓
檢舉此回應
Dim stDocName As String
Dim stLinkCriteria As String
Dim temp As Integer
Dim flag As Boolean

stDocName = "應收款資料"

If Me.使用者 <> "account" Then

MsgBox ("你沒有這個權限")

Exit Sub

End If

If IsNull(Me![進款日起]) And Not IsNull(Me![進款日止]) Then
temp = MsgBox("開始日期空白,請輸入開始日期", vbInformation)
Exit Sub
End If
If Not IsNull(Me![進款日起]) And IsNull(Me![進款日止]) Then
temp = MsgBox("截止日期空白,請截止開始日期", vbInformation)

Exit Sub
End If

flag = False


If Not IsNull(Me![本所編號]) Then '本所編號

If flag Then
stLinkCriteria = stLinkCriteria & " and " & "[本所編號] like " & "'" & [本所編號] & "*'"
Else
stLinkCriteria = "[本所編號] like " & "'" & [本所編號] & "*'"
flag = True
End If
End If


If Not IsNull(Me![客戶]) Then '客戶名稱
If flag Then
stLinkCriteria = stLinkCriteria & " and " & "[客戶] like " & "'" & [客戶] & "*'"
Else
stLinkCriteria = "[客戶] like " & "'" & [客戶] & "*'"
flag = True
End If
End If

If Not IsNull(Me![報稅年度]) Then '報稅年度
If flag Then
stLinkCriteria = stLinkCriteria & " and " & "[報稅年度] like " & "'" & [報稅年度] & "*'"
Else
stLinkCriteria = "[報稅年度] like " & "'" & [報稅年度] & "*'"
flag = True
End If

End If

If Not IsNull(Me![請款號]) Then '請款號
If flag Then
stLinkCriteria = stLinkCriteria & " and " & "[請款號] like " & "'" & [請款號] & "*'"
Else
stLinkCriteria = "[請款號] like " & "'" & [請款號] & "*'"
flag = True
End If
End If

If Not IsNull(Me![請款日起]) And Not IsNull(Me![請款日止]) Then
If stLinkCriteria & "" <> "" Then
stLinkCriteria = stLinkCriteria & " and 請款日 >= #" & Me![請款日起] & "# and 請款日 <= #" & Me![請款日止] & "#"
Else
stLinkCriteria = "請款日 >= #" & Me![請款日起] & "# and 請款日 <= #" & Me![請款日止] & "#"
End If
End If

DoCmd.OpenForm stDocName, , , stLinkCriteria
Forms![應收款資料].使用者 = Me.使用者
End Sub

原先設計的如上方,查詢只能針對連號或是某一範圍,不能跳著查詢,參考您的方法,修改如下,不過顯示錯誤,無法依照查詢條件查詢,想請問是哪邊有問題呢?

Private Sub Command33_Click()

Dim stDocName As String
Dim stLinkCriteria As String
Dim rst1 As Recordset

stDocName = "應收款資料"

If Me.使用者 <> "account" Then

MsgBox ("你沒有這個權限")

Exit Sub

End If

stLinkCriteria = "Select * From [帳務資料表] where " & Text27

DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub
本篇文章回覆於2022-03-02 17:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

P陳
檢舉此回應
你 Text27 內打什麼?
本篇文章回覆於2022-03-02 17:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

P陳
檢舉此回應
另:顯示的錯誤是什麼 ?
本篇文章回覆於2022-03-02 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

黑楓
檢舉此回應
你 Text27 內打什麼?
請款號=1101035 or 請款號=1101030

顯示的錯誤是什麼 ?
執行階段錯誤'3270'
找不到屬性
本篇文章回覆於2022-03-02 18:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

黑楓
檢舉此回應
然後進行偵錯,顯示下面這段有問題
DoCmd.OpenForm stDocName, , , stLinkCriteria
本篇文章回覆於2022-03-02 18:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

P陳
檢舉此回應
DoCmd.OpenForm stDocName, , , stLinkCriteria


stLinkCriteria 這堿O要放條件 where condition
所以是直接放
請款號='1101035' or 請款號='1101030'
也就是 stLinkCriteria= text27

而不是放 Select .... where .....
本篇文章回覆於2022-03-05 17:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

黑楓
檢舉此回應
了解,已可以執行了,謝謝P陳大大。
本篇文章回覆於2022-03-07 10:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

黑楓
檢舉此回應
奇怪,我本來要選P陳大大的回應為最佳解答,結果就直接變成沒有最佳回復了
本篇文章回覆於2022-03-07 10:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.