Opret et nyt modul og indsæt nedenstående kode i det.
'------------------------------------- Sub SplitIni() Dim GrpRst As Recordset Dim Initialer As String Dim a Dim i As Integer
Set GrpRst = CurrentDb.OpenRecordset("GrpIniMange") With GrpRst Do Until .EOF Initialer = .Fields("Ini") a = Split(Initialer, ",") For i = 0 To UBound(a) DoCmd.SetWarnings False DoCmd.RunSQL ("INSERT INTO GrpIni(Grp,Ini) SELECT '" & .Fields("Grp") & "','" & Trim(a(i)) & "'") DoCmd.SetWarnings True Next i .MoveNext Loop .Close End With Set GrpRst = Nothing End Sub '-------------------------------------
Erstat GrpIniMange med navnet på din tabel Erstat GrpIni med den nye tabel (resultatet). Husk at oprette den først!
Men jeg har lige lidt endnu. Først havde jeg selvfølgelig glemt at fortælle at den også kunen være tom i initial feltet... men jeg lavede selv en tabeloprettelses ting der kun tager dem ud hvor initial feltet ikek er tomt.
men nu kommer den med denne fejl 3265 i line DoCmd.RunSQL ("INSERT INTO GrpIni(Grp,Ini) SELECT '" & .Fields("Grp") & "','" & Trim(a(i)) & "'")
Hvad skyldes det?
Jeg har lavet en tabel "GrpIni" med Grp og ini som felter er det forkert ? elelr hvordan skal den ekstra tabel laves ?
M.h.t. fejlen: Det er lidt svært at gætte på, hvad problemet er; men hvis du placerer musen over .Fields("Grp") og a(i), kan du se, hvad de indeholder. Det kunne måske give et fingerpeg.
Din nye tabel skal bare indeholde de to felter Grp og Ini - begge tekst felter. Hvis du vil have at gruppen er numerisk, er det her problemet er. Så skal du ændre INSERT sætningen til: DoCmd.RunSQL ("INSERT INTO GrpIni(Grp,Ini) SELECT " & .Fields("Grp") & ",'" & Trim(a(i)) & "'") (her er der ikke plinger om gruppen)
.. og ja, man kan sagtens køre kode fra en makro. Måske ikke et "modul" som du skriver; men en funktion. Du retter bare Sub til Function i din kode (husk også End Sub). Så kan du kalde funktionen med makrokommandoen AfspilKode. Ud for funktionsnavn skriver du f.eks. SplitIni()
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.