excel - 使用 For 循环选择 Access 中的特定字段并将它们粘贴到 Excel
问题描述
我制作了一个特定的访问表单,其中包含许多具有相同名称的字段,只有末尾的数字发生了变化。我有名为“Code1”、“Code2”、“Code3”等的字段。我想将表单视图中的字段粘贴到 Excel 单元格。大约有150个字段,我不想一一添加。
我制作了一个打开 Excel 模板的按钮,并制作了一个 For 循环,但我被卡住了。这是这样的想法:
Set MyXL = CreateObject("Excel.Application")
With MyXL
.Application.Visible = True
.Workbooks.Open "F:\0. Main\01.Templates\Order.xltx"
Dim broj As Variant
broj = UCase(ID)
Dim Kod As Variant
Dim Tip As Variant
Dim Kolic As Variant
For i = 1 To 30
-------> Kod = Code(i).Value
.Worksheets("Sheet1").Cells(11 + i, 2).Value = Kod
-------> Tip = Type(i).Value
.Worksheets("Sheet1").Cells(11 + i, 3).Value = Tip
-------> Tip = Qty(i).Value
.Worksheets("Sheet1").Cells(11 + i, 3).Value = Kolic
Next i
我不知道如何在 For 循环中包含 FieldName + (number)
解决方案
请检查是否可以将整个记录集直接粘贴到 Excel 的范围内(将根据需要从 L2 开始覆盖):
.Worksheets("Sheet1").Cells(12, 2).CopyFromRecordset
如果这可行,您可能需要在粘贴之前清除范围:
.Worksheets("Sheet1").Range("L2:N100000").ClearContent
如果这没有帮助,您可能希望循环访问 Access 中的记录集,例如:
Set rs = CurrentDb.OpenRecordset("WhatEver", dbOpenDynaset)
If Not (rs.BOF And rs.EOF) Then
rs.MoveFirst
i = 1
Do
... = rs.Fields("Code" & i).Value
...
rs.MoveNext
i = i + 1
Loop Until i > 30 ' or Until rs.EOF
End If
推荐阅读
- python - 在列中读取带有换行符的 csv 文件
- google-cloud-platform - 谷歌翻译在特殊字符周围添加空格
- c# - c#如何使洪水填充在颜色渐变上起作用?
- xamarin - 在 XamarinForms 中使用 VisionServiceClient 的各种错误
- c# - 在 B-L072Z-LRWAN1 板 (stm32l0) 的现有 lorawan 项目中添加 adc 配置
- django - 需要帮助形成具有多个聚合的查询集
- python - 循环选择目录中的 x 文件数
- arm-template - Azure VM 映像没有源 Blob URI
- regex - 如何从带有周围字符的 oracle varchar 获取日期时间
- php - 中间件不符合条件 - Laravel 5.7