'选择相应的币种代码
Set Rs = Cnn.Execute("Select [code] from table1 where moneytype='" &
text1.text & "'")
'根据币种代码更新数据库
Cnn.Execute ("Update table2 set typecode=" & Rs("Code"))
Set Rs = Cnn.Execute("Select [code] from table1 where moneytype='" &
text1.text & "'")
'根据币种代码更新数据库
Cnn.Execute ("Update table2 set typecode=" & Rs("Code"))
還有妳用什么控件顯示操作界面?
這樣就要打開兩次數據庫
我想先在客戶端就行先完成這种轉換
然后我對table2的存盤操作是這樣的
While i < .Rows
rs.AddNew
rs("aa1") = "" & .TextMatrix(i, 1)
rs("aa2") = "" & .TextMatrix(i, 2)
rs("aa3") = "" & .TextMatrix(i, 2)
rs("aa4") = "" & .TextMatrix(i, 2)
rs("aa5") = "" & .TextMatrix(i, 2)
......
Wend
rs.UpdateBatch
這樣的話速度會快些
但就是怎樣實現??
很高興又見到你,你真的做得很好,謝謝你的幫助
你給的地址里面有好多東西,我要一些時間才能看完
不過好象跟我的問題不是說同一問題
我們一直是用代碼表示一些類別的,
到底要用code,還是用moneytype,我對這個問題還不清楚,
我是說我還不清楚用哪种方式對系統的性能好些.但見人家常用存code方式
你對這個問題的評价方法是怎樣的我用的是msflexgrid控件顯示數據
如果要求速度的话可以使用如下的方法(假设aa1是币种代码字段):
不过我还是说明一下,上面的方法并不是打开了两次数据库,而是对不同的表进行了两次访问。你可以对table1先建立一个Scripting.Dictionary对象,然后将table1的内容导入objDictPrivate objDict As Object
Private rstTable1 As RecordsetSub AddToDict()
Set objDict = CreateObject("Scripting.Dictionary")
With rstTable1 '假设已经在其它位置初始化了rsTable1
While Not .EOF
objDict.Add .Field("MoneyType"),.Field("code")
.MoveNext
Wend
End With
End Sub这样在更新数据时就可以:While i < .Rows
rs.AddNew
rs("aa1") = "" & objDict.item(.TextMatrix(i, 1))
rs("aa2") = "" & .TextMatrix(i, 2)
rs("aa3") = "" & .TextMatrix(i, 2)
rs("aa4") = "" & .TextMatrix(i, 2)
rs("aa5") = "" & .TextMatrix(i, 2)
......
Wend
rs.UpdateBatch
方法二:
或者妳在操作界面中,msflexgrid加多一隱藏列Code.保存時直接讀次列.如下面所示:
產品名稱 幣別 code 單價 ........
aa1 RMB 01 100 ....
aa2 RMB 01 233 ...
aa3 HKD 02 383 ...希望能有所幫助.
所以我想做一种只認代碼的,
就比如說:
01表示RMB,往后你想改成01 表示"人民幣"那你就改吧,反正我只認01,你怎麼改都不會錯,
說得也是,不過我這里寫程序甚麼都好象可以變的,就拿材料的單價,進貨時后還可以改單價(不知道你會不會遇到這樣的問題)
所以我想做一种只認代碼的,
就比如說:
01表示RMB,往后你想改成01 表示"人民幣"那你就改吧,反正我只認01,你怎麼改都不會錯,