我想請問一下,我目前在撰寫一套程式,
有一個功能我寫的一直有問題,我DEBUG很久了還是用不好...
希望這邊有人可以幫我。^^
主要的功能是我需要在TEXT1中輸入任意年度,
輸入後再指定資料庫的指定表單中把除了該年度以外的資料刪除,
我撰寫的部分如下:
Dim dbs As Database
Dim qdf As Integer
qdf = Val(Text1.Text)
Set dbs = OpenDatabase("中山高鋪面管理資料表.mdb")
dbs.Execute "DROP TABLE [交通量表];"
dbs.Execute "SELECT 歷年交通量表.* INTO " & "[交通量表] FROM 歷年交通量表;"
dbs.Execute "DELETE * FROM " & "交通量表 WHERE 年度 <> 85;"
dbs.Close
程式碼中的"85"是我寫死的年度,
基本上寫死是OK的,也驗證過qdf可以正確的轉換成我要的年度,
可是當我把"85"那個寫死的部分改掉後就會一直出錯,
因為是寫論文用的,所以非常急>"<
不知道有沒有大大可以幫我解決這個問題~~謝謝~~
2006-12-25 13:27:07 · 2 個解答 · 發問者 盆子 3 in 電腦與網際網路 ➔ 程式設計
To kukka大大:
不是耶,我這樣的程式碼是可以運作的,
我把85改成任何數字都可以做正確的作業,
我的問題是,當我把"85"指定成TEXT1的內容時,
他就會在我變更"85"的位子上面顯示錯誤訊息。
2006-12-25 16:28:00 · update #1
基本上我的"歷年交通量表"內容是固定不變的,
有變更的只有"交通量表",
我DROP TABLE 只要是要把前一次運算的結果刪除,
之後再複製"歷年交通量表"的所有資料進"交通量表"後,
才予以篩選成新的"交通量表",
我測試過,當我"85"的位置只要是寫死的數字,就可以正確執行,
但是把他改成指定TEXT1內容時都會在那個位子出現錯誤訊息,
不曉得該怎麼樣寫那個位子或是有沒有其他寫法來完成我要的功能?
2006-12-25 16:33:13 · update #2
qdf = Val(Text1.Text)
dbs.Execute "DELETE * FROM 交通量表 WHERE 年度 <> " & qdf
這樣應該是可以的 (應該不須要 ' ; ')
當然請確定 Text1.Text 有資料
或者, 你可以先用 'qdf = 85' 來測試
如果再不行
可能就要請你節錄那一段程式
我自己試試看了
2006-12-26 09:54:56 · answer #1 · answered by JJ 7 · 0⤊ 0⤋
當你輸入 dbs.Execute "DROP TABLE [交通量表];" 的那一剎那
你已經和你的資料表 [交通量表] 說掰掰了 (被你刪掉了)
既然被你刪掉了,你又怎能從裡面搜尋東西呢?
你的錯誤訊息應該是 refer 到前面這個 dbs.Execute "SELECT 歷年交通量表.* INTO " & "[交通量表] FROM 歷年交通量表;"所產生,而不是這行 dbs.Execute "DELETE * FROM " & "交通量表 WHERE 年度 <> 85;"
2006-12-25 16:10:46 · answer #2 · answered by 黃俊霖 7 · 0⤊ 0⤋