Конкатенация НАОБОРОТ - Пребразование строки с разделителем в записи таблицыПо материалам: https://www.cyberforum.ru/ms-access/thread3055593.html Private Sub SplitStringToRecords() 'Конкатенация НАОБОРОТ ... '-------------------------------------------------------------------------- Dim sVal As String Dim rsSRC As DAO.Recordset Dim rsDST As DAO.Recordset Dim lVal As Long, lCount& Dim vArr As Variant On Error GoTo SplitStringToRecords_Err sVal = "DELETE FROM Адреса_New" CurrentDb.Execute sVal 'Сброс (обнуление) значения счётчика sVal = "ALTER TABLE Адреса_New ALTER COLUMN AdrID COUNTER(1,1)" CurrentDb.Execute sVal Set rsSRC = CurrentDb.OpenRecordset("Адреса", dbOpenSnapshot) 'Источник -Только просмотр Set rsDST = CurrentDb.OpenRecordset("Адреса_New", dbOpenDynaset) 'Назначение (куда) With rsSRC Do Until .EOF = True sVal = !Дом & "" vArr = Split(sVal, ",") For lVal = 0 To UBound(vArr) rsDST.AddNew rsDST!НасПункт = ![Населенный пункт] rsDST!Улица = !Улица rsDST!Дом = Trim(vArr(lVal)) rsDST.Update Next lVal .MoveNext Loop End With MsgBox "Готово!" & vbCrLf & _ rsSRC.RecordCount & " исходных записей преобразовано в " & _ rsDST.RecordCount & " записей.", vbInformation SplitStringToRecords_End: On Error Resume Next rsSRC.Close: Set rsSRC = Nothing rsDST.Close: Set rsDST = Nothing Err.Clear Exit Sub SplitStringToRecords_Err: MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _ "in Sub: SplitStringToRecords in module: []", vbCritical, "Error in Application" Resume SplitStringToRecords_End End Sub
MSA-2003 ( 54 kB) Пример |
|||
L.E. 07.12.2022 |