如何用VB6連結ACCESS資料庫查詢,新增,刪除,修改呢?
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
如果改天我的身分證字號在第二欄的時候又該如何改寫.
你可以用sql 別名(欄名:身分證字號)的方式
關於資料第三欄的附件必須做超連結
可以在塞入資料庫時,只塞路徑,在使用時去指定為超連結
我希望能夠依照權限獲得新增刪除修改的功能
你必須先作個權限表,裡面有 user password 權限參數(自行設定)
開啟 form 時 再去 依登入 的 user 去事入權限
載入權限參數後 再依 參數 去設定元件的 enabled=false 就可控制了
當然這只是權限控制的其中一個方式,還有很多你可以慢慢玩 |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
其實不會很複雜,一個功能一個功能折開來想就好了
另外...我寫的是架構只要依架構下去,就一定做的出來
資料庫 <<>> ado連線 <<>> sql 語法 就可以達成欄位名 或 欄位數
(excel也可以看成是資料庫),你可以去看一下 ado 的用法,板上有
登入
你應該先建立一個table(資料庫),記錄 user password add del updata
001 1234 y n y
這樣的方式 我在 登入 form 時 使用者輸入 帳密 按下 確定時,
用ado 連線 找出 user,然後回傳 比對passwod, ok時 帶入權限
將 add del updata 用 陣列記錄起來, form1 在 load 時,判定 add = y 時
新增鈕.enabled=true 刪除鈕.enabled=false
這樣就可依使用者,去決定使用的功能
當然 寫法真的有很多種,我列出的只是很簡單的一種,網上真的有很多資料
另 要對資料庫應用 真的要會 連線方式 , ado 是一種常用的用法 ,建議去找一下相關資料,不會ado 資料庫存取功能,個人覺的會少一半
另 sql 語法 配合ado 才能下妳要的條件,也就是說,ado 是 vb 跟 資料庫的橋樑 sql 是你的需求
所以 ado 跟sql 是不可少的
超連結的部份, 當你把查詢值 回傳回來後, 再對 特定的欄位,去指定為超連結(或用超連結元件)
所以 當 執行完 以上的程式段 使用者看到的 就是完整的功能了
你可以試試看再問 你遇到的問題,要不然這樣整篇說,真的會寫很多很久,我只好大慨的說一下
另 建議 你先看一下 ado 別人的用法 (裡面會有sql的用法,不懂再問)
試試吧 |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
個人建議不要用 adodb 那個東西,我之前用過不很好用,雖然它某些方面很方便但彈性不足
ado的資料 板上excel 程式區就有,上文我有提過 excel可以看成資料庫,用法一樣 只是下的參數變動而已
如 http://forum.twbts.com/thread-556-1-1.html
裡面就有我po的ado 連線
Dim theCON As ADODB.Connection
Public theRST As ADODB.Recordset
Sub subConn(strFullName As String)
Dim strDrv As String
Dim IQC_SQLPass$, IQC_SQLID$, IQC_SQLName$, IQC_SQLAdderss$
(上面是連結資料庫的相關資訊 如 資料庫密碼 資料庫表單 資料庫名稱 資料庫位址)
IQC_SQLPass = "yyyyy"
IQC_SQLID = "yy"
IQC_SQLName = "Spc-Iqc"
IQC_SQLAdderss = "192-168-100-199\SQLEXPRESS"
theCON.Open " rovider=SQLOLEDB.1 assword=" & IQC_SQLPass & " ersist Security Info=True;User ID=" & IQC_SQLID & ";Initial Catalog=" & IQC_SQLName & ";Data Source=" & IQC_SQLAdderss
End Sub
Provider=SQLOLEDB.1(這個改成access的連線參數)
這樣就完成 資料庫的連線了,再來就是跟資料庫說,我們要什麼了- Function 連結AccEss(資料庫路徑 As String, mApp As String, mApp1 As String, 欄位數%)
- Dim strCMn As String
- Dim Ia%, Ib%
- Dim DArr(), Darr1
- Set myDbAcs = New clsADODBopenAcs '起始一個新的連結
- strCMn = "select * from " & mApp '這裡給于SQL敘述
- With myDbAcs
- .subConn 資料庫路徑 '連結資料庫檔案名稱(全路徑)
- .subOpen strCMn ' 以給于的SQL敘述打開一個資料集.
- End With
-
- ReDim DArr(1 To myDbAcs.theRST.RecordCount, 1 To 欄位數)
- Darr1 = Split(mApp1, ",", -1)
-
- For Ia = 1 To myDbAcs.theRST.RecordCount '讀取資料
- For Ib = 1 To 欄位數
- DArr(Ia, Ib) = myDbAcs.theRST("" & Darr1(Ib - 1) & "").Value
- ' myDbAcs.theRST.MoveNext
- Next Ib
- If Ia > 0 Then
- myDbAcs.theRST.MoveNext
- End If
- Next Ia
-
- 連結AccEss = DArr
-
- Set myDbAcs = Nothing '釋放連結物件
- End Function
複製代碼 |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
另外 這邊板上有個舊資料查詢 那裡是舊論壇 有很多資料 你可以去看看
另 你可以試用 vb2008 下去寫,會比 vb6還好寫的多了 |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
再補充一下 連結AccEss 的參數
資料庫路徑 = "Z:\部門\製造中心\品質管理部\QM資料庫\FQCDataBase.mdb"
mApp = "FQC"
mApp1 = "檢驗日期,檢驗時間,週別,班別,檢驗人員,工單號碼,廠商名稱,產品編號,品名,規格,RUN卡,大標,內標,小標,Hi-Pot,瓦數,檢驗結果,異常類別,異常位置,異常編碼,不良項目,不良原因,處理方式,備註"
mapp 是 table 的名稱
mapp1 是 table 的欄位名稱(不是欄位數喔) |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|