Avatar billede AccessBruger Praktikant
26. marts 2025 - 09:32 Der er 4 kommentarer

Hent på FTP server

Hej
Jeg har en access db som gerne skulle kunne henter data på en ftp server.
Nu har jeg brugt mange timer på at prøve at løse dette problem men det er ikkke lykkes. Er der noge der ligge inde med en løsning vel jeg være meget taknemlig
Avatar billede Gustav Ekspert
26. marts 2025 - 10:10 #1
Den simple metode er den gode gamle - at skrive en scriptfil med kommandoerne og så kalde DOS-programmet FTP med dette script:
Public Sub RunFTP(ByVal strScriptFile As String)

' obs:
'-----------------------------
'Yes, my problem. The "command.com" was not in the path:
'
'    Print Environ("path")
'
'Once I fixed that, the following procuded the expected results:
'
'    Shell "command.com /c xcopy32 /? > C:\TMP\test.txt"
'    Shell "start C:\TMP\test.txt"
'    Kill "C:\TMP\test.txt"
'
'If you call a Win32 enabled program with Shell, it will not use the output redirection character. So the "command.com" is essential here.
'------------------------------

' Usage Example:
'  call RunFTP("C:\temp\test.scr")
'
' Sample SCR File for NT/Win95 FTP
'  open someftpserver.com
'  anonymous
'  myaccount@myrealbox.com
'  lcd "c:\temp"
'  cd public
'  binary
'  prompt
'  mput *.jpg
'  get myfile.txt lastfile.txt
'  close
'  bye

  Dim strWinSysDir  As String
  Dim strQuote      As String
  Dim strMsgTitle  As String
  Dim strMsgPrompt  As String
  Dim lngMsgStyle  As Long
 
  strQuote = Chr(34)
  strMsgTitle = "FTP-overførsel"
 
  If Len(strScriptFile) = 0 Then
    strMsgPrompt = "Ingen script-fil er angivet!" & vbCrLf & "Overførsel kan ikke finde sted."
    lngMsgStyle = vbCritical + vbOKOnly
    DoCmd.Beep
  Else
    If Len(Dir(strScriptFile)) = 0 Then
      strMsgPrompt = "Script-filen '" & strScriptFile & "' findes ikke!" & vbCrLf & "Overførsel kan ikke finde sted."
      lngMsgStyle = vbCritical + vbOKOnly
      DoCmd.Beep
    Else
      strWinSysDir = Environ("COMSPEC")
      strWinSysDir = Left(strWinSysDir, Len(strWinSysDir) - Len(Dir(strWinSysDir)))
      strMsgPrompt = "Overførsel er sat i gang og kan følges i FTP-vinduet." & vbCrLf & "Tryk OK her, når den er afsluttet."
      lngMsgStyle = vbExclamation + vbOKOnly
      Call Shell(strWinSysDir & "ftp.exe -s:" & strQuote & strScriptFile & strQuote, vbNormalNoFocus)
    End If
  End If
 
  ' Pause here. Let the user wait for the FTP session to finish.
  MsgBox strMsgPrompt, lngMsgStyle, strMsgTitle

End Sub

Men gode, gamle ftp.exe fungerer kun med helt simple FTP-servere. Er dit behov mere  komplekst eller seriøst, vil jeg kraftigt anbefale at købe et hjælpeprogram, og her vil jeg foreslå en DLL fra MarshallSoft, som måske ikke er det billigste, du kan finde, men det virker, og der er fremragende support:

https://www.marshallsoft.com/fce4vb.htm
Avatar billede AccessBruger Praktikant
26. marts 2025 - 12:14 #2
det vel jeg prøve at se om jeg kan finde ud af
Avatar billede AccessBruger Praktikant
Skrevet i går kl. 20:17 #3
Hvad gør jeg her?

' obs:
'-----------------------------
'Yes, my problem. The "command.com" was not in the path:
'
'    Print Environ("path")
'
'Once I fixed that, the following procuded the expected results:
'
'    Shell "command.com /c xcopy32 /? > C:\TMP\test.txt"
'    Shell "start C:\TMP\test.txt"
'    Kill "C:\TMP\test.txt"
'
'If you call a Win32 enabled program with Shell, it will not use the output redirection character. So the "command.com" is essential here.
'------------------------------

' Usage Example:
'  call RunFTP("C:\temp\test.scr")
'
' Sample SCR File for NT/Win95 FTP
'  open someftpserver.com
'  anonymous
'  myaccount@myrealbox.com
'  lcd "c:\temp"
'  cd public
'  binary
'  prompt
'  mput *.jpg
'  get myfile.txt lastfile.txt
'  close
'  bye
Avatar billede Gustav Ekspert
Skrevet i dag kl. 08:24 #4
Det er blot kommentarlinjer. Den første del skulle have været fjernet.

Den andet del - Usage Example - er god at beholde, så man kan se, hvordan funktionen er tænkt at skulle bruges den dag, man har glemt det.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Specsavers

Portfolio Manager

Gorrissen Federspiel Advokatpartnerselskab

IT supporter

Unik System Design A/S

Technical Consultant

Capgemini Danmark A/S

SAP Accelerate Program
Seneste spørgsmål Seneste aktivitet
I dag 10:13 Oversæt tekst i WhatsApp Af eksmojo i Sociale medier
I dag 09:07 Menu Af OBS i Java
I går 19:12 Dansk serie DNA - sæson 2 Af ErikHg i Fri debat
I går 13:25 Access 2021 Af bsn i Access
27/0317:24 Min computer driller. Slidt SSD-drev? Af ractic i PC