陳述句為Form2.Adodc1.RecordSource = "Select * from airplane where no like '" & Text2 & "'"
經過除錯基本上就是這句出現了錯誤,在視窗中沒任何記錄顯示,怎么回事啊?書上的例題
uj5u.com熱心網友回復:
你在Text2中沒有輸入通配符 * 吧。uj5u.com熱心網友回復:
什么意思?這是整個程序的程式Private Sub Command3_Click() '按航班號查詢
If Text2 > " " Then
Form2.Adodc1.RecordSource = "Select * from airplane where no like '" & Text2.Text & "'"
'Form2.Adodc1.RecordSource = "Select * from airplane where no like '" & Text2 & "'"
Else
Form2.Adodc1.RecordSource = "Select * from airplane"
End If
Form2.Adodc1.Refresh
End Sub
uj5u.com熱心網友回復:
按照你的代碼邏輯,決定了用戶的操作規則:如果要找 FM 開頭的航班號,Text2 要輸入 FM*
如果要找 34 結尾的航班號,Text2 要輸入 *34
光輸入 FM 或 34 是不匹配的。
uj5u.com熱心網友回復:
那應該我可以直接輸入FM34嗎?可是我輸入資料庫中設定的航班號,在DataGrid中卻不顯示記錄uj5u.com熱心網友回復:
Form2.Adodc1.RecordSource = "Select * from airplane where no like '*" & Text2 & "*'"
uj5u.com熱心網友回復:
Not Likeuj5u.com熱心網友回復:
另外,Not Like 前面要有欄位名。uj5u.com熱心網友回復:
#6: no 是他表里的欄位名啊!uj5u.com熱心網友回復:
試試:Form2.Adodc1.RecordSource = "Select * from airplane where [no] like '*" & Text2 & "*'"
uj5u.com熱心網友回復:
#7. 老師,還是不行,要不我把程式給你發過去你幫我看看是什么問題,我是照著書上的例子做的,感覺很多錯誤的地方,這個例子完全弄懂了,我可以用到自己的系統中,謝謝!uj5u.com熱心網友回復:
#8.老師,您能不能幫我看看程式,照你們說的方法都試了,還是不行,其它查看方式都可以正常顯示,就按這種不行,謝謝!uj5u.com熱心網友回復:
#7.文本框輸入條件為If時不顯示記錄,當條件為Else時,即文本框什么字符都不輸入時,所有記錄都顯示,不知道怎么回事uj5u.com熱心網友回復:
'我專門打開Access用它的查詢設計生成了一句SQL,你先直接按固定字符查詢試試'
Form2.Adodc1.RecordSource = "Select * from airplane where (((airplane.no) Like '*FM*'))"
'再改成用輸入編號的'
Form2.Adodc1.RecordSource = "Select * from airplane where (((airplane.no) Like '*" & Text2 & "*'))"
uj5u.com熱心網友回復:
#13. 好的,謝謝,我再試試uj5u.com熱心網友回復:
#13. 老師,還是不行,按固定字符時,顯示的是所有航班資訊,輸入編號時還是不顯示任何航班
,書上的例題啊,挺多錯的
uj5u.com熱心網友回復:
Debug.Print "Select * from airplane where (((airplane.no) Like '*" & Text2 & "*'))"
加個除錯輸出,看這個字串是什么內容,和固定字符有什么區別
uj5u.com熱心網友回復:
你的Form2.Adodc1 有沒有放在form2面板中?uj5u.com熱心網友回復:
#17. 這個肯定在form2中有Adodc1這個控制元件了,其它查詢方式可以正常顯示航班資訊,就這個按航班號不行uj5u.com熱心網友回復:
試試:Debug.Print "Select * from airplane where (((airplane.no) Like '%" & Text2 & "%'))"
uj5u.com熱心網友回復:
表單1代碼Option Explicit
Private Sub Command1_Click() '按航線查詢
Dim Sc$, Lc$
Sc = List1.Text '取起飛地點
Lc = List2.Text '取到達地點
If Sc > " " And Lc > " " Then '分資料情況查詢
Form2.Adodc1.RecordSource = "Select * from airplane where startcity='" & Sc & "' and landcity='" & Lc & "'"
ElseIf Sc > " " Then
Form2.Adodc1.RecordSource = "Select * from airplane where startcity='" & Sc & "'"
ElseIf Lc > " " Then
Form2.Adodc1.RecordSource = "Select * from airplane where landcity='" & Lc & "'"
Else
Form2.Adodc1.RecordSource = "Select * from airplane"
End If
Form2.Adodc1.Refresh '更新
End Sub
Private Sub Command3_Click() '按航班號查詢
If Text2 > " " Then
Debug.Print "Select * from airplane where (((airplane.no) Like '%" & Text2 & "%'))"
Form2.Adodc1.RecordSource = "Select * from airplane where no like '" & Text2.Text & "'"
'Form2.Adodc1.RecordSource = "Select * from airplane where no like '" & Text2 & "'"
Else
Form2.Adodc1.RecordSource = "Select * from airplane"
End If
Form2.Adodc1.Refresh
End Sub
Private Sub Command4_Click()
Form2.Show
End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Form_Load()
Dim mpath$, mlink$
mpath = App.Path
If Right(mpath, 1) <> "\" Then mpath = mpath + "\"
mlink = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=plane.accdb;Persist Security Info=False;"
'mlink = mlink + "Data Source=" + mpath + "plane.accdb"
Form2.Adodc1.ConnectionString = mlink '設定ConnectionString屬性
Form2.Adodc1.CommandType = adCmdUnknown '設定命令型別
Form2.Adodc1.RecordSource = "Select Startcity from airplane group by startcity " '按起飛城市分類
Form2.Adodc1.Refresh
List1.AddItem " "
Do While Not Form2.Adodc1.Recordset.EOF '添加到串列框list1
List1.AddItem Form2.Adodc1.Recordset.Fields(0)
Form2.Adodc1.Recordset.MoveNext
Loop
Form2.Adodc1.RecordSource = "Select landcity from airplane group by landcity" '按到達城市分類
Form2.Adodc1.Refresh
List2.AddItem " "
Do While Not Form2.Adodc1.Recordset.EOF '添加到串列框list1
List2.AddItem Form2.Adodc1.Recordset.Fields(0)
Form2.Adodc1.Recordset.MoveNext
Loop
Form2.Adodc1.RecordSource = "Select airco from airplane group by airco" '按航空公司分類
Form2.Adodc1.Refresh
Combo1.AddItem ""
Do While Not Form2.Adodc1.Recordset.EOF '添加到串列框list1
If Not IsNull(Form2.Adodc1.Recordset.Fields(0)) Then Combo1.AddItem Form2.Adodc1.Recordset.Fields(0)
Form2.Adodc1.Recordset.MoveNext
Loop
Form2.Adodc1.RecordSource = "Select * from airplane "
Form2.Adodc1.Refresh
Set DataGrid1.DataSource = Form2.Adodc1
End Sub
uj5u.com熱心網友回復:
表單2代碼Option Explicit
Private Sub Command1_Click()
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find " no='" & Text8 & "'"
If Adodc1.Recordset.EOF Then MsgBox "無此航班號!", , "提示"
End Sub
Private Sub Command2_Click(Index As Integer)
Dim ask As Integer
Select Case Index
Case 0
Adodc1.Recordset.AddNew
Case 1
ask = MsgBox("是否洗掉?", vbYesNo)
If ask = 6 Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast
End If
Case 2
Adodc1.Recordset.Update
Case 3
Adodc1.Recordset.CancelUpdate
Case 4
Unload Me
End Select
End Sub
uj5u.com熱心網友回復:
表單1界面
uj5u.com熱心網友回復:
'* 怎么變成 % 了?'
Debug.Print "Select * from airplane where (((airplane.no) Like '%" & Text2 & "%'))"
'* 哪去了?'
Form2.Adodc1.RecordSource = "Select * from airplane where no like '" & Text2.Text & "'"
uj5u.com熱心網友回復:
#23. 老師,那個是按照19樓說的改的,不過還是不行,就是如果不輸入任何字符,顯示所有資訊,輸入字符就什么都不顯示,也沒有提示錯誤。uj5u.com熱心網友回復:
這個例題,機型和航空公司組合查詢就干脆沒給代碼,唉!,好坑。uj5u.com熱心網友回復:
你把Debug.Print 的輸出陳述句,貼到 Access 的查詢中測驗。uj5u.com熱心網友回復:
#26. 老師,在Access中查詢,除錯,真的還不太會,最近知識做畢業設計要在VB中使用Access資料庫,就懂了一點建立表格基礎的,想通過這個例題學會在VB中呼叫,用在我的畢業設計中,可是這個例題沒弄懂。uj5u.com熱心網友回復:
搜:Access 查詢 SQL視圖uj5u.com熱心網友回復:
#28, 老師,是不是把這句粘貼上去啊Select * from airplane where (((airplane.no) Like '*" CA1315 "*')) ? 查詢航班號為CA1315的航班資訊。我粘貼上之后,點擊運行,卻出現讓我輸入記錄的視窗,而不是查詢結果uj5u.com熱心網友回復:
怎么會有雙引號的?Text只能輸編號。uj5u.com熱心網友回復:
#30 老師,我搞不定,你不是說這個是在Access查詢中輸入的嗎?這樣與VB就沒關系了吧,我粘貼在Access中的SQL查詢視圖中,點擊運行,就到輸入記錄的視窗,而不是航班號對應的查詢結果記錄。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/98177.html
標籤:控件
上一篇:請問如何實作 阻止acad.exe 向硬碟寫入acaddoc.lsp檔案呢
下一篇:關于聯級查詢的問題求教!
