我在一個名爲「Employee_States_File」的excel文件中有一個表。該表包含兩列名稱和狀態。兩列都填充了數據。省表中包含諸如「NE,WA」等國家的縮寫。我有另一個名爲「States_File」的excel文件,其中包含一個具有兩列的表格:縮寫和FullStateName。該表被認爲是一個查找表,以查找基於縮寫的完整狀態名稱。現在,我想在VB6中編寫代碼,以便當用戶單擊某個按鈕時,Excel文件「Employee_States」的表中的所有縮寫名稱都將根據Excel工作表的查找表更改爲完整狀態名稱「 States_File」。 它有道理嗎? 請幫忙,VB6中的查找功能
1
A
回答
0
如果您可以將它們轉換爲csv文件(逗號分隔文本文件),您可以使用Jet數據庫引擎並執行正常的SQL連接。
我用它來設置連接。
Public Function OpenTextConnection(ByVal FileName As String) As Connection
Dim FSO As FileSystemObject
Dim DBFolder As String
Dim TS As TextStream
Set FSO = New FileSystemObject
DBFolder = FSO.GetParentFolderName(FileName)
If FSO.FileExists(FSO.BuildPath(DBFolder, "Schema.ini")) Then
FSO.DeleteFile (FSO.BuildPath(DBFolder, "Schema.ini"))
End If
Set TS = FSO.CreateTextFile(FSO.BuildPath(DBFolder, "Schema.ini"))
TS.WriteLine "[" & FSO.GetFileName(FileName) & "]"
TS.WriteLine "Format=CSVDelimited"
TS.WriteLine "ColNameHeader = True"
TS.WriteLine "MaxScanRows = 0"
TS.Close
Set OpenTextConnection = New Connection
If FSO.FolderExists(DBFolder) Then
OpenTextConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFolder & ";Extended Properties=""text;HDR=Yes;FMT=Delimited;"";"
Else
MsgBox DBFolder & " Does not exists.", vbExclamation
End If
End Function
每個文件都是連接中的表,您可以執行SQL連接。注意這個例子只是簡單地打開一個表格。您可以使用任何有效的SQL語法。
Dim DB1 As Connection
Dim TB As Recordset
Dim FSO As FileSystemObject
Dim tImport As New DBImportList
Set FSO = New FileSystemObject
Set tImport = New DBImportList
If FSO.FileExists(FileName) Then
Set DB1 = OpenTextConnection(FileName)
Set TB = New Recordset
TB.Open "SELECT * FROM [" & FSO.GetFile(FileName).Name & "]", DB1, adOpenKeyset, adLockOptimistic, adCmdText
End If
+0
有沒有辦法在不將它們轉換爲csv的情況下使用.xls文件?僅當用戶安裝了Microsoft Office時,纔可以使用 – guest1 2010-09-29 19:12:05
+0
。您可以使用Excel導出的com庫直接訪問.xls文件。我不推薦這種簡單的表查找,因爲它引入了不需要的依賴關係。 – 2010-10-01 12:57:09
相關問題
- 1. VB6功能vb.net
- 2. VB6功能到C#
- 3. C#中VB6的ObjPtr的等價(功能)?
- 4. 查找「卡」功能
- 5. VBA查找功能
- 6. TSQL查找功能
- 7. ffplay查找功能
- 8. 查找根/功能
- 9. 查找最大功能的
- 10. 使用查找功能的
- 11. 功能的C++查找根
- 12. 查找功能的順序
- 13. JAWS,輔助功能和VB6
- 14. VB6分類搜索功能
- 15. VB6 - 屏幕截圖功能
- 16. TextMate中的「查找全部」功能?
- 17. InSTR或VBA中的查找功能
- 18. 在Xcode5中查找Xcode3的功能+
- 19. 高級查找CRM 2013中的功能
- 20. 查找和替換功能
- 21. Coda功能和類查找
- 22. 爲「查找好友」功能
- 23. VBA:查找功能代碼
- 24. Python - 功能性「查找」?
- 25. 查找功能分數Mathematica
- 26. python序列查找功能
- 27. Vb6查找替換代碼
- 28. 在swift框架中查找新功能
- 29. 查找功能,並複製我試圖使用查找功能查找數據的行數據
- 30. 查找不使用的功能?
這些是Excel文件? XLS或XLSX?爲什麼不使用[Excel VLOOKUP函數](http://office.microsoft.com/zh-cn/excel-help/vlookup-HP005209335.aspx)並直接在Excel中執行? – MarkJ 2010-09-30 08:24:09
我確實使用了VLOOKUP功能。然而,它讓我瘋狂,因爲它能處理大約一半的記錄,然後它給了我一個錯誤:「無法獲得Worksheet函數類的vlookup屬性」。我被告知這個錯誤意味着VLOOKUP函數在查找表的第一列中找不到值的匹配。當我手動更改該值並將其替換爲先前找到的值時,它仍然掛在那裏。我不知道爲什麼它給了我那個錯誤信息。我正在使用XLS文件。任何想法? 。我不能直接在Excel中執行此操作。 – guest1 2010-09-30 15:20:55