访问 - 按字符拆分字段

时间:2016-06-07 22:50:16

标签: vba macros access

我有一个访问表,目前只有1个字段,但它应该是5个单独的字段。该字段是文本,应在每个";"处拆分。分号之间的每个部分可以是不同的长度。

我目前正在使用宏创建此表,因此能够通过宏添加此解决方案会很棒。但是我愿意在查询中使用一个函数,如果这是唯一的选择。

实施例: 现在: F1 00584698878941; HG1D100037; HG-G8; HG1D100037; HG-45

应该是: F1
00584698878941

F2 HG1D100037

F3 HG-G8

F4 HG1D100037

F5 HG-45

2 个答案:

答案 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`

enter image description here