Finns det något sätt att importera en vanlig .txt fil till en access databas? är det en enda fil visd ett tillfälle eller menar du att du vill göra dett lite då & då och lägga till data? Ok tack. Låter som du söker en ASP lösning för att uppdatera dtabasen? Vad har du för kunskaper i ASP programmering? Ja det stämmer, fast vet inte vilka komponenter jag ska använda mig av för att lösa problemet.. Verkar lite konstigt att blanda in asp i en accessdatabas, jag tror att "<input type="file"> " förvirrar lite, är det inte bara principen du är ute efter att kunna klicka på en knapp för att få välja vilken fil som skall läsas in i databasen? Jag gjorde en sådan lösning och hoppas att det sätmmer med det du var ute efter. "cmdImport" är namnet på knappen som ligger på formuläret. Det är inte så svårt, ring mig ikväll så kan jag skicka över lite kod till dig så ser du hur du ska göra. Tack Robert men såg nu att min fil ser ut såhär: Inget svar men jag har ändå gjort små förändringar från den förra så den läser in fälten dynamiskt så att man slipper hårdkoda alla fält. Nackdelen är om man har numeriska värden som skall sparas som text, borde iofs aldrig hända men man kan aldrig vara helt säker. Hej! Det jag postade i förra inlägget är hela koden. Man behöver inte någon extra kopplig till databasen eftersom man utnyttjar: Ahha ok, men jag använder ju mig utav en access (mdb) databas, jag måste väl välja vart filen ligger? Hur går det? Vill verkligen knäcka detta problemet så fort som möjligt.. Har försökt med DoCmd.TransferText men vet inte riktigt hur jag ska koppla ihop det med access databasen, någon där ute som har en idé? Ett litet klargörande kan vara på sin plats: Dom kodexempel jag postat tidigare handlar enbart om vba-kod i access och har inget att göra med asp, däremot kan man säkert nyttja delar av eller principen från exemplen på en asp-sida. Ja up.asp innehåller i princip bara ett formulär där man väljer fil. up.asp ska sköta själva uppdateringen av mdb filen.Importering av batch fil?
Det jag skulle vilja är att t.ex. text filen ser ut så här:
ID Produktnamn Pris
1 Banan 14.95
2 Äpple 12.95
3 Citron 12.95
4 Kiwi 15.95
Så när jag importerar txt filen sa ändrar databasens all info till den aktuella infon i txt filen.
Tack på förhand!Sv: Importering av batch fil?
Manmuelt eller med kod?
Manuellt Arkiv/Importera data.
med kod kan du kolla på DoCmd.TransferText i hjälpen...(i VBA editorn)Sv:Importering av batch fil?
Jo det är vid olika tillfällen jag vill att databasen (mdf-filen) ska uppdateras, eventuellt via en knapptryckning.
T.ex. att man har en "<input type="file"> där man anger txt filen. Den text filen ser ut som oven jag förklarat. När man sen klickar "Importera" ska filen skickas iväg och informationen ska uppdatera databasen (mdb filen).
Om det nu går...Sv: Importering av batch fil?
Sv:Importering av batch fil?
Jag kan grunderna, men känns som det krävs lite mer advancerad programmering..
Finns det något sätt att lösa problemet med ASP?Sv:Importering av batch fil?
Private Sub cmdImport_Click()
On Error GoTo Err_Kommandoknapp6_Click
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
Dim filePath As String
Dim fromFile As String
Dim read() As String, headers() As String
Dim sql As String
With dlgOpen
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then filePath = .SelectedItems(1)
End With
If filePath <> "" Then
Open filePath For Input As #1
Line Input #1, fromFile
headers = Split(fromFile, vbTab)
Do While Not EOF(1)
Line Input #1, fromFile
read = Split(fromFile, vbTab)
sql = "INSERT INTO tblBatch(" & headers(0) & "," & headers(1) & "," & headers(2) & ") VALUES(" & read(0) & ",'" & Trim(read(1)) & " '," & read(2) & ")"
Debug.Print sql
CurrentDb.Execute sql
Loop
Close 1
Me.Requery
End If
Exit_Kommandoknapp6_Click:
Exit Sub
Err_Kommandoknapp6_Click:
MsgBox Err.Description
Resume Exit_Kommandoknapp6_Click
End Sub
Sv: Importering av batch fil?
018-421535
Ha det bra
/DavidSv:Importering av batch fil?
[fält1];[fält2];[fält3];[fält4];[fält5];[fält6];[fält7];[fält8];[fält9];[fält10];[fält11];[fält12];[fält13]
T.ex.
50;ABC65261615;ABC65261615;Afrikansk banan;Frukter;Exotiska frukter;Banan;2154112;138;771,00;afbanan.JPG;0;0
20;ABC21541616;ABC21541616;Portugal banan;Frukter;Exotiska frukter;Banan;2424242;0;753,00;portbanan.JPG;0;0
Så ser min txt fil ut. Jag vill att den importerar fält1 osv till en access databas där jag får fälten i olika kolumner.
David är det OK om jag ringer dig imorgon? 11 April runt 8 på kvällen?Sv: Importering av batch fil?
Private Sub cmdImport_Click()
On Error GoTo Err_cmdImport_Click
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
Dim filePath As String
Dim fromFile As String
Dim read() As String, headers() As String
Dim fields As String, values As String
Dim sql As String
With dlgOpen
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then filePath = .SelectedItems(1)
End With
If filePath <> "" Then
Open filePath For Input As #1
Line Input #1, fromFile
headers = Split(fromFile, ";")
fields = headers(0)
If UBound(headers) > 1 Then
For i = 1 To UBound(headers)
fields = fields & "," & Trim(headers(i))
Next
End If
Do While Not EOF(1)
Line Input #1, fromFile
read = Split(fromFile, ";")
values = read(0)
If UBound(read) > 1 Then
For i = 1 To UBound(read)
values = values & "," & IIf(val(read(i)) = 0, "'" & read(i) & "'", read(i))
Next
End If
sql = "INSERT INTO tblBatch(" & fields & ") VALUES(" & values & ")"
Debug.Print sql
CurrentDb.Execute sql
Loop
Close 1
Me.Requery
End If
Exit_cmdImport_Click:
Exit Sub
Err_cmdImport_Click:
If Err.Number = 55 Then
Close 1
MsgBox "File was already open, please try again"
Exit Sub
End If
MsgBox Err.Description
Resume Exit_cmdImport_Click
End Sub
Sv:Importering av batch fil?
Ursäkta har varit upptagen i påsk helgen :)
Tack Robert, men får inte det riktigt att fungera.. Något speciellt jag ska tänka på när jag skapar access filen? Skriv gärna med hela koden med sql kopplingen också.
Tack!Sv: Importering av batch fil?
<code>
CurrentDb.Execute sql
</code>
Vad är det som strular för dig? Läser du in filen med en knapptryckning från ett formulär eller hur gör du?Sv:Importering av batch fil?
Ja jag länkar up.asp till db.asp, där db.asp har själva koden.Sv:Importering av batch fil?
Sv:Importering av batch fil?
Sv: Importering av batch fil?
Har du fixat så att filen laddas upp till rätt plats när du kör up.asp? eller är det db.asp som skall ta hand om den biten?Sv:Importering av batch fil?