Sql-Server
從一個欄位中獲取值,並將其粘貼到新列中
我對 Microsoft Access 比較陌生,只是 SQL 程式的初學者。
我在 MS Access 中有一張桌子。它是從 .txt 文件導入的。在第一列中有一個帶有數字或程式碼的字元串。該數字始終位於字元串“Arbeitslpatz”之後(第一個字元從字元串位置 17 開始),並且始終每 76 行更改一次。(總行數 29790)。我想要實現的是複制這個數字(例如 101100)並將其粘貼到前 76 行的新列中。然後是接下來 76 行的下一個數字,依此類推。(我後來想使用 SQL WHERE 函式查找函式並返回一些所需的值,為此我需要將這些“Arbeitsplatz 數字”放在新行中。我已經為文件分配了一個 ID,但我沒有設法走得更遠。(我嘗試了 VBA 循環,但沒有真正成功)SQL 或 VBA 程式碼將不勝感激。
我不知道螢幕截圖有多好&/如果我提供了足夠的資訊…
感謝大家的幫助
這是我在 Access 中連結到數據庫的原始文本文件中的圖像:
編輯的操作碼:
Function Macro1() '' dim variables Dim tmp As String, temp() As String Dim rs As Recordset '' open source for reading Open "J:\80_Applications\SAPGuiScripting\01_TXT_Files\CM01_Total.csv" For Input As #1 '' attach recordset to table Set rs = CurrentDb.OpenRecordset("CM01_Total_1") '' loop source - read line-by-line until its end Do Until EOF(1) '' read one line Line Input #1, tmp '' look if it is a header, if yes, extract and store the number If Left(tmp, 12) = "Arbeitsplatz" Then num = Trim(Mid(tmp, 17,8)) '' look if it is a data line If InStr(tmp, "|") > 0 And InStr(tmp, "Woche") = 0 Then '' divide the line to separate fields temp = Split(tmp, "|") With rs '' add new, empty, record .AddNew '' set values into fields !Arbeitsplatz = num !Woche = temp(1) !Bedarf = temp(2) !Angebot = temp(3) !Belast = temp(4) ![freie_Kap] = temp(5) !Einh = temp(6) '' save editions .Update End With End If '' loop to reading the next line Loop '' close source file and recordset Close #1 rs.Close Set rs = Nothing End Function
PS。必須添加錯誤處理程序。