Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

用VBA代码将子窗体数据循环编入指定位置电子表格内

龙  发表于:2016-02-11 17:15:53  
复制

  Dim exapp As Excel.Application
  Dim exwbk As Excel.Workbook
  Dim exsht As Excel.Worksheet
  Dim rng As Excel.Range
 
 
   Set exapp = CreateObject("Excel.Application")
   Set exwbk = exapp.Workbooks.Open("D:\My Working\Data\Transfer_Mass upload.xlsx")
   Set exsht = exwbk.Worksheets("Transfer")
  
  Dim strsql As String
  Dim X As Integer
  Dim Y As Integer
  Dim I As Integer
  Dim cn As ADODB.Connection
  Dim rs As New ADODB.Recordset
 
   Set cn = CurrentProject.Connection
   strsql = "select * from tblSVDOI"
   rs.Open strsql, cn, adOpenKeyset, adLockOptimistic
   Set rng = exsht.Range("A2")
   exsht.Range("A2:D1000").Clear
  
   X = 0
   Y = 1
   
  
     rng.Value = rs("Part")
     Set rng = rng.Offset(X, Y)
    
     rng.Value = rs("FromLocation")
     Set rng = rng.Offset(X, Y)
    
     rng.Value = rs("ToLocation")
     Set rng = rng.Offset(X, Y)
    
     rng.Value = rs("Qty")
     Set rng = rng.Offset(X, Y)
      
 
   exwbk.Save
   exapp.Quit
  
   rs.Close
   cn.Close
  
   MsgBox "数据已成功编入电子表内", vbInformation, "提示"
  
   Set rs = Nothing
   Set cn = Nothing
   Set exsht = Nothing
   Set exwbk = Nothing
   Set exapp = Nothing


Private Sub CmdSVDOI_Click()

  Dim exapp As Excel.Application
  Dim exwbk As Excel.Workbook
  Dim exsht As Excel.Worksheet
  Dim rng As Excel.Range
 
 
   Set exapp = CreateObject("Excel.Application")
   Set exwbk = exapp.Workbooks.Open("D:\My Working\Data\Transfer_Mass upload.xlsx")
   Set exsht = exwbk.Worksheets("Transfer")
  
  Dim strsql As String
  Dim X As Integer
  Dim Y As Integer
  Dim I As Integer
  Dim cn As ADODB.Connection
  Dim rs As New ADODB.Recordset
 
   Set cn = CurrentProject.Connection
   strsql = "select * from tblSVDOI"
   rs.Open strsql, cn, adOpenKeyset, adLockOptimistic
   Set rng = exsht.Range("A2")
   exsht.Range("A2:D1000").Clear
  
   X = 0
   Y = 1
   
  
     rng.Value = rs("Part")
     Set rng = rng.Offset(X, Y)
    
     rng.Value = rs("FromLocation")
     Set rng = rng.Offset(X, Y)
    
     rng.Value = rs("ToLocation")
     Set rng = rng.Offset(X, Y)
    
     rng.Value = rs("Qty")
     Set rng = rng.Offset(X, Y)
      
 
   exwbk.Save
   exapp.Quit
  
   rs.Close
   cn.Close
  
   MsgBox "数据已成功编入电子表内", vbInformation, "提示"
  
   Set rs = Nothing
   Set cn = Nothing
   Set exsht = Nothing
   Set exwbk = Nothing
   Set exapp = Nothing


End Sub



 

Top
wsxljx 发表于:2016-02-11 17:22:08

点击命令按钮后老是只有1条记录会编入到指定的电子表格内(如下),如何才能将子窗体(如上图)所有的数据编入到表格内?谢谢

ItemId FromWarehouse ToWarehouse Quantity
3NKW7 C2-REC-MFG C2LW-L3-K6 -40


wsxljx 发表于:2016-02-11 17:25:39
各位老师,个人觉得需要添加个循环条件信息应该就能实现吧?我还是个菜鸟新手,请指点下,不胜感激.......^^

wsxljx 发表于:2016-02-11 18:41:22

自己已经解决了....^^



朱先生 发表于:2016-02-14 22:45:17
代码太长了

总记录:4篇  页次:1/1 9 1 :