我有一个访问表,目前只有1个字段,但它应该是5个单独的字段。该字段是文本,应在每个";"处拆分。分号之间的每个部分可以是不同的长度。
我目前正在使用宏创建此表,因此能够通过宏添加此解决方案会很棒。但是我愿意在查询中使用一个函数,如果这是唯一的选择。
实施例: 现在: F1 00584698878941; HG1D100037; HG-G8; HG1D100037; HG-45
应该是:
F1
00584698878941
F2 HG1D100037
F3 HG-G8
F4 HG1D100037
F5 HG-45
答案 0 :(得分:0)
您使用更新查询执行此操作 - 但这意味着需要进行大量函数调用
以下是一些适合您的代码:
PREP:确保您的表格包含F1,F2,F3,F4,F5字段
使用“Ctrl-G”打开VB编辑器
插入模块
复制/粘贴代码
Public Sub LoadTable()
Const YOUR_TABLE_NAME As String = "Table2"
Const SQL_UPDATE_DATA As String = "SELECT * FROM [" & YOUR_TABLE_NAME & "] WHERE F2 Is Null"
Dim rs As DAO.Recordset
Dim strF1Data As String
Dim varData As Variant
Set rs = CurrentDb.OpenRecordset(SQL_UPDATE_DATA)
With rs
Do Until .EOF
strF1Data = !F1
varData = Split(strF1Data, ";")
If UBound(varData) = 4 Then
.Edit
!F1 = varData(0)
!F2 = varData(1)
!F3 = varData(2)
!F4 = varData(3)
!F5 = varData(4)
.Update
End If
.MoveNext
Loop
.Close
End With
Set rs = Nothing
End Sub
PREP:修改YOUR_TABLE_NAME常量以匹配您的表名
按F5运行
拿起一本好的VBA书 - 你可以做更多的事情
答案 1 :(得分:0)
要dbmitch:
<强>代码:强>
&#39; Public Sub LoadTable()
upload = (image: string) : void => {
let ft = new Transfer();
let options = new FileUploadOptions();
options.fileKey="file";
options.fileName=image.substr(image.lastIndexOf('/')+1)+'.jpg';
options.mimeType="text/plain";
let params = new Object();
params.apikey = "helloworld";
options.params = params;
//ft.onProgress(this.onProgress);
ft.upload(image, "https://apifree2.ocr.space//parse/image", options, false)
.then((result: any) => {
this.success(result);
}).catch((error: any) => {
this.failed(error);
});
}
success = (result: any) : void => {
console.log(result);
}
failed = (err: any) : void => {
let code = err.code;
alert("Failed to upload image. Code: " + code);
}
结束Sub`