08. august 2003 - 09:45Der er
42 kommentarer og 1 løsning
Læs første linie i en txt fil.
Hej Jeg vil gerne kunne læse første linie i en txt fil og bruge værdierne dynamisk. Linie kunne f. eks se sådan her ud. sagsnavn,sagsnr,dato, (bella03,sx0256,20-06-03,) Og så vil jeg gerne oprette en ny tabel med navnet sagsnr. er det muligt uden, at det bliver for langhåret, da jeg ikke er en ørn til access (men kan kode andet) uc.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
uc >Det er ikke noget problem at lade access oprette en tabel via en VBA-procedüre. Jeg har ikke Access på denne maskine, men kan sende dig en testdb senere.
Henrik13 det bliver tabellen da ikke oprettet af. filen hedder f.eks. altid data.txt. så hvis jeg importere en fil vil tabellen døbes data. og ikke det sagsnr, som jeg er ude efter.
>>uc Så bliver din database meget stor. Nu har jeg fundet fejlen i din import, der er 2 løsninger på rettelsen. Derfor vil jeg gerne sende dig de 2 tabeller, så du selv kan se hvad du ønsker. Skriv lige om du kører access 97, 2000 eller xp.
Stor base.? hvis jeg ligger dem i i samme tabel (alle sager) vil der jo også blive en lang søgetid da der kan være mange dubletter til hver sag (de bliver summeret i en rapport)
Ok Inden importen skal du gå i notespad og erstatte alle kommaer med et semikolon. Derefter tryk på gem. Så koppier du sx0256 eller det næste nummer til hukommelsen. Så importere du den: Gå i Filer Gå i Externe data Gå i Impotere Vælg tekstfil Velg semikolon sepereret fil Når du kommer til sidste rude hvor den foreslår data som filnavn, så slet det og indsæt det i din hukommelse (CTRL + V). Vh Henrik13
Henrik13 Jeps. men men. som jeg skrev i mit indlæg så vil jeg gerne >bruge værdierne dynamisk< det vil sige, at det skulle kunne ske ved et truk på en knap. 1. man trukker på knappen. 2. læser det første linine i filer og finder udaf hvad tabellen skal hedde. 3. tabellen bliver oprettet. 4. indlæser resten af filen.
Her er lidt kode der læse den første linie og opretter en tabel med det som navn. Jeg har bare lavet en form med en knap på og lag koden på knappens event.
Dim dbs As Database Dim tdfNew As TableDef Dim prpLoop As Property Dim tmpstr As String Dim fs, f Dim pos As Integer Dim strArray(2) As String Dim test As String
Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile("c:\access.txt", ForReading, TristateFalse)
' Create a new TableDef object. Set tdfNew = dbs.CreateTableDef(test)
With tdfNew ' Create fields and append them to the new TableDef ' object. This must be done before appending the ' TableDef object to the TableDefs collection of the ' Northwind database. .Fields.Append .CreateField("FirstName", dbText) .Fields.Append .CreateField("LastName", dbText) .Fields.Append .CreateField("Phone", dbText) .Fields.Append .CreateField("Notes", dbMemo)
'For Each prpLoop In .Properties ' On Error Resume Next ' If prpLoop <> "" Then Debug.Print " " & _ ' prpLoop.Name & " = " & prpLoop ' On Error GoTo 0 'Next prpLoop
' Append the new TableDef object to the Northwind ' database. dbs.TableDefs.Append tdfNew
Debug.Print "Properties of new TableDef object " & _ "after appending to collection:"
' Enumerate Properties collection of new TableDef ' object. 'For Each prpLoop In .Properties ' On Error Resume Next ' If prpLoop <> "" Then Debug.Print " " & _ ' prpLoop.Name & " = " & prpLoop ' On Error GoTo 0 'Next prpLoop
Fordi spørgeren ikke har accepteret nogen af svarene. Mit eksempel går kun på tabeloprettelse, medens dit svar både går på læaning af tekstfilen og tabeloprettelse. Man behøver jo ikke at scceptere det første svar, der kan jo komme andre og bedre svar.
Hehehehe højdt sandsynligt jeg misfostod vis bare din første kommentar. Jeg troede han havde mere eller mindre havde accpteret det...Ligegyldigt. Forsat god og Helveds varm dag.
mugs og phhester tak for jeres forslag. jeg skal lige kigge koden igennem først. så vender jeg tilbage. Men først skal jeg finde mine badevinger og en pool. for her er sq varmt.
Phester Jeg går udfra at din kode virker, men jeg kan ikke få det til, at spille jeg får en compiler error user-deined type not defined. på Database og TabelDef.
Er det ikke noget man skal definere et eller andet sted..???
uc > Kontroller dine referencer. Åbn et kodemodul Funktioner > Referencer (Tools > References) og kontroller, at der ikke står MISSING ud for nogle referencer. Du mangler sandsynligvis een til Word. Sørg for at der er et checkmærke i boksen i venstre side.
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.