Autor Thema: Pfadangaben in Script und Formelsprache  (Gelesen 2882 mal)

Glombi

  • Gast
Pfadangaben in Script und Formelsprache
« am: 08.03.04 - 09:35:44 »
Problem: Man hat mit db.Filepath einen Datenbankpfad der Form "verzeichnis1\verzeichnis2\name.nsf" ermittelt. Jetzt möchte man mit Evaluate ein @DbColumn oder @DbLookup machen. Dazu benötigt man die Pfadangabe aber in der Formelsprachenform, also mit doppeltem Backslash "\\".

Dazu muss der Pfad in Script wie folgt transformiert werden:

Function TransformScriptPathToFormulaPath( Byval pathname As String ) As String
   'Diese Function liefert eine Pfadangabe mit "\" als "\\" (kompatibel zur Formelsprache) zurück
   
   Dim tmpstr As String
   Dim retstr As String
   
   Dim pos As Integer
   Dim laenge As Integer
   Dim counter As Integer
   
   tmpstr = pathname
   
   pos = Instr( tmpstr, "\" )
   laenge = Len( tmpstr )
   
   If pos > 0 Then   
      retstr = ""
      counter = 0
      Do While (pos > 0 )
         If counter = 0 Then
            retstr = Left$( tmpstr, pos - 1 )
         Else
            retstr = retstr & "\\" & Left$( tmpstr, pos - 1 )
         End If
         tmpstr = Right$( tmpstr, laenge - pos )
         pos = Instr( tmpstr, "\" )   
         laenge = Len( tmpstr )
         counter = counter + 1
      Loop   
      retstr = retstr & "\\" & tmpstr
   Else
      retstr = tmpstr
   End If
   
   TransformScriptPathToFormulaPath = retstr
   
End Function

Im Code sähe das dann so aus:

....
DB_Path = "verzeichnis1\verzeichnis2\name.nsf"

LSDB_Path = TransformScriptPathToFormulaPath( DB_Path )

ret_eval = Evaluate( |@DbColumn("";"| + DB_Server + |":"| + LSDB_Path + |";"Ansichtsname";1)| )

Alle Verbesserungsvorschläge werden gerne entgegengenommen.

Bei der Replik-ID gilt ähnliches: In Script wird diese mittels db.ReplicaID ohne Doppelpunkt geliefert, in der Formelsprache benötigt man den nach der 8. Stelle.

Andreas
« Letzte Änderung: 08.03.04 - 09:36:24 von Glombi »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz