用vb6实现,将在oracle查询得到的数据直接保存在本地的access数据库文件中,查询语句为:
SELECT AL3.ALOT_NUMBER, AL3.PKGCODE, AL3.PRODLINE, AL3.DEVC_NUMBER AS DEVICE, AL1.STEP_NAME, AL1.PROCESS_START_TIME, " & _
"AL2.PROCESS_END_TIME, AL3.PRIORITY, AL4.DEVC_NUMBER AS LEADFRAME, AL7.DEVC_NUMBER AS GOLDWIRE FROM GENSTAGING.MVIEW$_AOLOT_HISTS AL1, " & _
"GENSTAGING.MVIEW$_AOLOT_HISTS AL2, GENSTAGING.MVIEW$_AO_LOTS AL3, GENSTAGING.MVIEW$_STEP_BOMS AL4, " & _
"GENSTAGING.MVIEW$_DEVICES AL5, GENSTAGING.MVIEW$_STEP_BOMS AL6, GENSTAGING.MVIEW$_DEVICES AL7 WHERE " & _
"(AL3.ALOT_NUMBER=AL1.ALOT_NUMBER AND AL1.ALOT_NUMBER=AL2.ALOT_NUMBER AND AL4.PKIT_NAME=AL3.PKIT_NAME " & _
"AND AL5.DEVC_NUMBER=AL4.DEVC_NUMBER AND AL3.PKIT_NAME=AL6.PKIT_NAME AND AL6.DEVC_NUMBER=AL7.DEVC_NUMBER) " & _
"AND (AL2.STEP_NAME='DIE_CAGE' AND AL1.STEP_NAME='WIRE_BOND' AND AL1.CURRENT_FLAG='Y' AND AL1.PROCESS_START_TIME " & _
"IS NULL AND AL4.STEP_NAME='DIE_BOND' AND AL5.MTRL_TYPE='LEADFRAME' AND AL6.STEP_NAME='WIRE_BOND' AND AL7.MTRL_TYPE='GOLDWIRE') "
针对查询得到的数据程序所在目录下已经创建temp.mdb文件,并在文件中建立表 oracle,字段名与查询的字段名相同为:PKGCODE, ALOT_NUMBER, DEVICE, LEADFRAME, PROCESS_END_TIME, PRIORITY, GOLDWIRE。最终目的就是将ORACLE数据库查得的数据保存在TEMP.MDB文件的ORACLE表中。这个问题我在网上找了一晚上没找到答案,希望高手援手!
SELECT AL3.ALOT_NUMBER, AL3.PKGCODE, AL3.PRODLINE, AL3.DEVC_NUMBER AS DEVICE, AL1.STEP_NAME, AL1.PROCESS_START_TIME, " & _
"AL2.PROCESS_END_TIME, AL3.PRIORITY, AL4.DEVC_NUMBER AS LEADFRAME, AL7.DEVC_NUMBER AS GOLDWIRE FROM GENSTAGING.MVIEW$_AOLOT_HISTS AL1, " & _
"GENSTAGING.MVIEW$_AOLOT_HISTS AL2, GENSTAGING.MVIEW$_AO_LOTS AL3, GENSTAGING.MVIEW$_STEP_BOMS AL4, " & _
"GENSTAGING.MVIEW$_DEVICES AL5, GENSTAGING.MVIEW$_STEP_BOMS AL6, GENSTAGING.MVIEW$_DEVICES AL7 WHERE " & _
"(AL3.ALOT_NUMBER=AL1.ALOT_NUMBER AND AL1.ALOT_NUMBER=AL2.ALOT_NUMBER AND AL4.PKIT_NAME=AL3.PKIT_NAME " & _
"AND AL5.DEVC_NUMBER=AL4.DEVC_NUMBER AND AL3.PKIT_NAME=AL6.PKIT_NAME AND AL6.DEVC_NUMBER=AL7.DEVC_NUMBER) " & _
"AND (AL2.STEP_NAME='DIE_CAGE' AND AL1.STEP_NAME='WIRE_BOND' AND AL1.CURRENT_FLAG='Y' AND AL1.PROCESS_START_TIME " & _
"IS NULL AND AL4.STEP_NAME='DIE_BOND' AND AL5.MTRL_TYPE='LEADFRAME' AND AL6.STEP_NAME='WIRE_BOND' AND AL7.MTRL_TYPE='GOLDWIRE') "
针对查询得到的数据程序所在目录下已经创建temp.mdb文件,并在文件中建立表 oracle,字段名与查询的字段名相同为:PKGCODE, ALOT_NUMBER, DEVICE, LEADFRAME, PROCESS_END_TIME, PRIORITY, GOLDWIRE。最终目的就是将ORACLE数据库查得的数据保存在TEMP.MDB文件的ORACLE表中。这个问题我在网上找了一晚上没找到答案,希望高手援手!
解决方案 »
- datagrid修改数据能否经过确认再反映到SQL数据库?包括取消厚进行回滚?
- 怎么判断使用ado打开的EXCEL中的某个表是否存在啊??
- 如何用VB实现两个控件分离的效果
- 求助:关于VB中的随机函数的使用方法
- 关于放midi的问题,请大虾指教
- 如何动态添加菜单
- 告急求教如何把excel文件作为数据源 进行sql查询操作
- 我的一个DLL文件中的对象属性怎样调用?
- 请问什么地方有好的英文VB网站和新闻组?
- VB winsock控件 TCP client 接收十六进制数据出现乱码,求解决~
- 求救:为什么我的软件在繁体操作系统不能运行?
- 为什么我写的数据库连接组件。不能执行conn.execute("sql语句")呢?
Dim cn As New ADODB.Connection
Dim cn2 As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim i As Integer
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.xls;Extended Properties=""Excel 8.0;"""
rs.CursorLocation = adUseClient
rs.Open "select * from [Sheet1$]", cn, 1, 1
cn2.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\Test.mdb;Uid=Admin;Pwd=;"
rs2.Open "select * from table1", cn2, 1, 3
While Not rs.EOF
rs2.AddNew
For i = 0 To rs2.Fields.Count - 1
rs2(i) = rs(i)
Next
rs.MoveNext
Wend
rs2.UpdateBatch Set rs2 = Nothing
Set rs = Nothing
cn.Close
Set cn = Nothing
cn2.Close
Set cn2 = Nothing
End Sub
SQL = "Insert Into oracle(PKGCODE, ALOT_NUMBER, DEVICE, LEADFRAME, PROCESS_END_TIME, PRIORITY, GOLDWIRE) Values (" _
& Rs.Fields(0) _
& "," & Rs.Fields(1) _
& "," & Rs.Fields(2) _
& "," & Rs.Fields(3) _
& "," & Rs.Fields(4) _
& "," & Rs.Fields(5) _
& "," & Rs.Fields(6) _
& ")"
Cn2.Excute SQL
Rs.MoveNext
Loop
虽然麻烦,但是很容易理解
rs2.open "select * from table2",cnn2
intFields = rs1.Fields.Count - 1
For k = 1 To rs1.RecordCount
rs2.AddNew
For j = 0 To intFields
rs2.Fields(j).Value = rs1.Fields(j).Value
Next
rs2.UpdateBatch
rs1.MoveNext
Next
rs1.Close
rs2.Close