读取和写入Access 2007(accdb文件)
我一般不';我不要求施舍……但今天我是。有没有人有一些示例代码(最好是vbs)来打开数据库,从特定列中读取单元格,并将图像附加到另一个单元格(图像名称对应于读取的第一个单元格)这看起来像是我需要走的方向,但我';我通常很迷茫:丑陋:在lisp语言之外http://msdn.microsoft.com/en-us/library/bb257442.aspx任何帮助都将不胜感激
附件示例…需要从结构ID列读取数据,并用回形针图标将照片附加到最后一列
谢谢,罗恩
**** Hidden Message ***** 如果';你想要什么。我使用DAO链接到数据库Option Explicit
Public Tatts As Variant
Public ssnew_is As Object
Const DATABASE_DIR = "q:\std\drafting_db\"
Dim db As DAO.Database
Sub CaddReq()
Dim Projdia As String
Dim Caddr As String
Dim Filenm As String
Dim EntGrp(0) As Integer
Dim EntPrp(0) As Variant
Dim BlkObj As Object
Dim Pt1(0) As Double
Dim Pt2(0) As Double
Dim objSelSet As AcadSelectionSet
Dim objSelCol As AcadSelectionSets
Set objSelCol = ThisDrawing.SelectionSets
For Each objSelSet In objSelCol
If objSelSet.Name = "db4_block" Then
objSelSet.Delete
Exit For
End If
Next
Call str_test
Set ssnew_is = ThisDrawing.SelectionSets.Add("db4_block")
EntGrp(0) = 2
EntPrp(0) = "drafting_db_block"
ssnew_is.Select acSelectionSetAll, Pt1, Pt2, EntGrp, EntPrp
If ssnew_is.Count >= 1 Then
Call cadreq_str
Tatts = ssnew_is.Item(0).GetAttributes
Filenm = (LTrim(Tatts(2).TextString))
Set db = DAO.OpenDatabase(DATABASE_DIR & "drafting_db_oldver.mdb", False, False)
Dim rs As DAO.Recordset
Set rs = db.OpenRecordset( _
"SELECT * FROM CaddReqTrack WHERE File_Path = '" _
& D_path & "' AND FileName = '" & Filenm & "' AND Cadd_Req = '" & cad_req & "'")
If (rs.RecordCount > 0) Then
rs.Edit
rs.Fields("Drawing_Name") = (LTrim(Tatts(3).TextString))
rs.Fields("Station") = (LTrim(Tatts(4).TextString))
rs.Fields("Location") = (LTrim(Tatts(5).TextString))
rs.Fields("Description") = (LTrim(Tatts(6).TextString))
rs.Fields("Dwg_Scale") = (LTrim(Tatts(7).TextString))
rs.Fields("Rev_CE") = (LTrim(Tatts(8).TextString))
rs.Fields("Date_CE") = (LTrim(Tatts(9).TextString))
rs.Fields("Rev_Desc_CE") = (LTrim(Tatts(10).TextString))
rs.Fields("Drawn_By_CE") = (LTrim(Tatts(11).TextString))
rs.Fields("Eng_By_CE") = (LTrim(Tatts(12).TextString))
rs.Fields("Rev_GE") = (LTrim(Tatts(13).TextString))
rs.Fields("Date_GE") = (LTrim(Tatts(14).TextString))
rs.Fields("Rev_Desc_GE") = (LTrim(Tatts(15).TextString))
rs.Fields("Drawn_By_GE") = (LTrim(Tatts(16).TextString))
rs.Fields("Eng_By_GE") = (LTrim(Tatts(17).TextString))
rs.Fields("D_Code") = (LTrim(Tatts(18).TextString))
rs.Fields("S_Code") = (LTrim(Tatts(19).TextString))
rs.Update
Else
rs.AddNew
rs.Fields("Cadd_Req") = cad_req
rs.Fields("Filename") = (LTrim(Tatts(2).TextString))
rs.Fields("Drawing_Name") = (LTrim(Tatts(3).TextString))
rs.Fields("Station") = (LTrim(Tatts(4).TextString))
rs.Fields("Location") = (LTrim(Tatts(5).TextString))
rs.Fields("Description") = (LTrim(Tatts(6).TextString))
rs.Fields("Dwg_Scale") = (LTrim(Tatts(7).TextString))
rs.Fields("Rev_CE") = (LTrim(Tatts(8).TextString))
rs.Fields("Date_CE") = (LTrim(Tatts(9).TextString))
rs.Fields("Rev_Desc_CE") = (LTrim(Tatts(10).TextString))
rs.Fields("Drawn_By_CE") = (LTrim(Tatts(11).TextString))
rs.Fields("Eng_By_CE") = (LTrim(Tatts(12).TextString))
rs.Fields("Rev_GE") = (LTrim(Tatts(13).TextString))
rs.Fields("Date_GE") = (LTrim(Tatts(14).TextString))
rs.Fields("Rev_Desc_GE") = (LTrim(Tatts(15).TextString))
rs.Fields("Drawn_By_GE") = (LTrim(Tatts(16).TextString))
rs.Fields("Eng_By_GE") = (LTrim(Tatts(17).TextString))
rs.Fields("D_Code") = (LTrim(Tatts(18).TextString))
rs.Fields("S_Code") = (LTrim(Tatts(19).TextString))
rs.Fields("File_Path") = D_path
rs.Update
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
ThisDrawing.PurgeAll
End If
End Sub
谢谢…我';我去看看。
页:
[1]