討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 網路投保旅行平安險 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
VB6 Access
更改我的閱讀文章字型大小
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/18 下午 02:44:31
VB6 如何Link MS ACCESS 2000
我想做可以Count recond
Option Explicit

Private Sub Form_Load()
    N = 0
    datMain.Recordset.MoveFirst
    Do While Not datMain.Recordset.EOF
     N = N + 1
     datMain.Recordset.MoveNext
    Loop
     MsgBox N & "records wee read from file", , "Input Done"

End Sub

還有是問題(沒有設定物件變數.......)這是什麼意思?
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人emptyset註記此篇回應為很有道理 2010/1/18 下午 04:08:00
VB研究小站->VB語言資料庫介面->[A]ADODB (Microsoft Active Data Objects) (30)->讓VB像ASP般的來使用ADO - 小瓜瓜
http://vb.ncis.com.tw/

您沒有引用或宣告ADO Connection和Recordset,參考以上...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/18 下午 07:42:07
我改為這樣不知道對不對,還有出現問題"426" Active X無法產生物件
Option Explicit
Dim MyDBS As Object, MyRec As Object

Private Sub Form_Load()
    Set MyDBS = CreateObject("ADODB.connection")
    Set MyRec = CreateObject("ADODB.recondset")
    MyDBS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:/ASSESSMENT/product.MDB"
    MyRec.Open "ItemID", MyDBS
    N = 0
    MyRec.MoveFirst
    Do While Not MyRec.EOF
     N = N + 1
     MyRec.MoveNext
    Loop
     MsgBox N & "records wee read from file", , "Input Done"

End Sub
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/18 下午 08:00:22
Set MyRec = CreateObject("ADODB.recordset")

是錯這列嗎?打錯字了嗎...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/18 下午 08:19:24
謝謝,但出現了"無效sql陳述式"
MyRec.Open "ItemID", MyDBS
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人emptyset註記此篇回應為很有道理 2010/1/18 下午 10:00:43
>MyRec.Open "ItemID", MyDBS

您檔案裡面的資料表名字是ItemID嗎...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/19 上午 08:05:00
如果我有多個form
那我要不要在每個都import 這個data base
還是已經通用?
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/19 上午 09:00:22
>如果我有多個form
>那我要不要在每個都import 這個data base
>還是已經通用?

可以在每個表單裡宣告,或者寫在Module裡共用...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/19 下午 12:46:16
謝謝,這是我寫在Module的 , 它說set是外部的.. 應該改為什麼
Option Explicit
Public N As Integer
Public MyDBS As Object, MyRec As Object
Set MyDBS = CreateObject("ADODB.connection")
Set MyRec = CreateObject("ADODB.recordset")
MyDBS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:/ASSESSMENT/product.MDB"
MyRec.Open "List", MyDBS
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人emptyset註記此篇回應為最佳解答 2010/1/19 下午 01:18:01
Option Explicit

Public MyDBS As Object, MyRec As Object

Public Sub gsubADODB()
 Public N As Integer
 Set MyDBS = CreateObject("ADODB.connection")
 Set MyRec = CreateObject("ADODB.recordset")
 MyDBS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:/ASSESSMENT/product.MDB"
 MyRec.Open "List", MyDBS
End Sub

要把它寫在函式裡,在表單去呼叫它使用...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/19 下午 05:21:14
謝謝,這是我寫的其他form,但是出現問題("3021" 可能是BOF or EOF 數值為 true........)
這是什麼意思?


Option Explicit

Private Sub cmdUL_Click()
    picList.Cls
    picList.Print "ITEM ID", "ITEM NAME", "ITEM SIZE", "PRICE", "QUANTITY", "STOCK VALUE"
    picList.Print " ", " ", " ", " ", " ", " "
    Call ALLADODB
    MyRec.MoveFirst
    Do Until MyRec.EOF
     MyRec.MoveNext
     picList.Print MyRec.Fields(0), MyRec.Fields(1), MyRec.Fields(2), MyRec.Fields(3), MyRec.Fields(4)
    Loop
    picList.Print "Total of "; N; " items."
End Sub
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人emptyset註記此篇回應為很有道理 2010/1/19 下午 05:46:10
Do Until MyRec.EOF
     picList.Print MyRec.Fields(0), MyRec.Fields(1), MyRec.Fields(2), MyRec.Fields(3), MyRec.Fields(4)
     MyRec.MoveNext
    Loop

已經到底了,順序改成以上試試...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/19 下午 06:28:34
謝謝,我作了改動,但是 這出了問題 "483" "不支援此屬性"
"stock = Val(MyRec.Field(3)) * Val(MyRec.Field(4))"
這是什麼?

dim stock as Currency
Do Until MyRec.EOF
    stock = Val(MyRec.Field(3)) * Val(MyRec.Field(4))
     picList.Print MyRec.Fields(0), MyRec.Fields(1), MyRec.Fields(2), MyRec.Fields(3), MyRec.Fields(4), stock
     MyRec.MoveNext
    Loop
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/19 下午 08:01:34
stock = Val(MyRec.Field(3).value) * Val(MyRec.Field(4).value)

資訊: 如何診斷和解決一些自動化錯誤
http://support.microsoft.com/kb/200271

Visual Basic 6.0 Service Pack 6
http://www.microsoft.com/downloads/details.aspx?familyid=9EF9BF70-DFE1-42A1-A4C8-39718C7E381D&displaylang=zh-tw

欄位裡面有值嗎?更新至SP6試試...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/22 下午 08:42:24
結果我改成stock = Val(MyRec.Fields(3).Value) * Val(MyRec.Fields(4).Value) 就行
還有是如何Delete record? 這是試驗的
我想做成Find 完後,可以delete

Private Sub cmdDel_Click()
Call ALLADODB
    MyRec.Fields(0) = "123"
    MyRec.Delete
End Sub

模組的
Public MyDBS As Object, MyRec As Object
Public Sub ALLADODB()
    Set MyDBS = CreateObject("ADODB.connection")
    Set MyRec = CreateObject("ADODB.recordset")
    MyDBS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:/ASSESSMENT/product.MDB"
    MyRec.Open "List", MyDBS, adOpenKeyset, adLockPessimistic
End Sub
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/22 下午 09:26:49
ADO Recordset Object
http://www.w3schools.com/ado/ado_ref_recordset.asp

SQL Delete From
http://www.1keydata.com/tw/sql/sqldelete.html

SQL Drop Table
http://www.1keydata.com/tw/sql/sqldrop.html
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/24 上午 11:24:09
謝謝,這次我改用ADO Date Contorl
但是Search 總是出現錯誤
這我寫的

Private Sub cmdSearch0_Click()
    AdoM.Recordset.Find Str(txtIDM.Text)
    Dim strSearchFor As String, foundFlag As Boolean
    strSearchFor = UCase(txtIDM.Text)
    If Len(strSearchFor) > 0 Then
     AdoM.Recordset.MoveFirst
     foundFlag = False
     Do While (Not foundFlag) And (Not AdoM.Recordset.EOF)
     If UCase(AdoM.Recordset.Fields(0).Value) = strSearchFor Then
     foundFlag = True
     Else
     AdoM.Recordset.MoveNext
     End If
     Loop
     If Not foundFlag Then
     MsgBox "This items is not in the file.", , "Not Found"
     AdoM.Recordset.MoveLast
     End If
    Else
     MsgBox "Please enter the Stock ID.", , "Search key is Missing"
    End If
End Sub

這是其他板本
Private Sub cmdSearch_Click()
AdoM.Recordset.MoveFirst
    If Len(txtIDM.Text) > 0 Then
     Do Until AdoM.Recordset.EOF Or AdoM.Recordset.Fields(0).Value = Str(txtIDM.Text)
     AdoM.Recordset.MoveNext
     Loop
    Else
    
    End If
End Sub
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人emptyset註記此篇回應為很有道理 2010/1/24 下午 01:08:27
SQL In
http://www.1keydata.com/tw/sql/sqldelete.html

ADO Find Method
http://www.w3schools.com/ado/met_rs_find.asp

VB研究小站->VB語言資料庫介面->[A]ADODB (Microsoft Active Data Objects) (30)->Recordset的找尋資料
http://vb.ncis.com.tw/

要用SQL SELECT WHERE語法,或Recordset.Find方法,以上網址裡相關的範例,請先全部看過...
作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/24 下午 06:30:19
我改成這樣但是出現問題"無值提供一或多個必要參數" 和 "'Refresh'方法('IAdodc"物件)失敗

Private Sub cmdSearch_Click()
Dim SIDM As String, criteria As String, SQL As String
Dim strSearchFor As String, foundFlag As Boolean
SIDM = txtIDM.Text
criteria = "ItemID =" & "" & SIDM & ""
SQL = "Select * From List Where " & criteria
adoMM.RecordSource = SQL
adoMM.Refresh
If adoMM.Recordset.RecordCount = 1 Then
    txtNameM.Text = adoMM.Recordset!ItemName
    txtPriceM.Text = adoMM.Recordset!Price
    cboSizeM.Text = adoMM.Recordset!ItemSize
    txtQuantityM = adoMM.Recordset!Quantity
Else
    MsgBox "qwe", , "qwe"
End If

End Sub
作者 : qazujm(joe) Visual Basic卓越專家C#優秀好手貼文超過1000則
[ 貼文 1521 | 人氣 2524 | 評價 9070 | 評價/貼文 5.96 | 送出評價 90 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人emptyset註記此篇回應為很有道理 2010/1/24 下午 09:43:09
SQL = "Select * From List Where ItemID = '" & SIDM & "'"

ADODC.ConnectionString設定了嗎?List是資料表名?ItemID是欄位名?欄位型態是字串的話,前後要加單引號...

作者 : emptyset(emptyset)
[ 貼文 14 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/30 上午 11:51:51
謝謝幫助
這些問題我想了很久
 板主 : Daniel
 > 資訊類作業 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 資訊類作業 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
資訊類作業
1 Raymond 4540 
2 Ben 2880 
3 青衫 2260 
4 ozzy 1540 
5 HKLN.net 1010 
6 Daniel 780 
7 joe 740 
8 小朱 570 
9 Benson 440 
10 鬼翼@娃娃魚 400 
資訊類作業
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.109375