Autor Thema: schnittstelle --> access  (Gelesen 1927 mal)

Offline M_Messer

  • Junior Mitglied
  • **
  • Beiträge: 98
  • Geschlecht: Männlich
schnittstelle --> access
« am: 22.04.02 - 17:34:22 »
hi

gibt es schon eine fertige schnittstelle, mit der man daten aus access in ene notesdatenbank bekommt ??? oder ist das vielleicht eine standardfunktion in access. da drin kenne ich mich nicht sehr gut aus.  :-[
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
- notes 5.0.4
- nt 4.0 sp6

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: schnittstelle --> access
« Antwort #1 am: 22.04.02 - 17:47:55 »
Hier habe ich mal ein CodeBeispiel, das ich mal programmiert habe.

Da fehlt nur noch das Erzeugen eines Notes Docs und die Übertragung der Werte: Ich lasse die mir hier nur anzeigen. War mal ne Demo aus einem Workshop für Programmierer, den ich mal geleitet habe  ;D

Sub Click(Source As Button)
     On Error Resume Next    
     Dim Accessdb As Variant
     Dim rst As Variant
     Dim ColNum As Integer
     Dim RecValue As Variant
     Dim FieldNames As New ArraySets '// Class Constructor for ArraySets
     
     tbl$ = "Test"
     
     Set dbE = CreateObject ( "DAO.DBEngine.35" )
     Set ws = dbE.CreateWorkspace ( "" ,  "admin" ,  "" , 2 )
     Set AccessDB = ws.OpenDatabase ( "d:\test.mdb" )
     Set rst = AccessDB.OpenRecordset( tbl$ )
     
     iRecCount = rst.RecordCount '// Get number of records in the table
    '=======================================================================
    '// As long as  I do not know a better method to determine the colNames of the AccessTable
    '// I do it this way
    '// Using "ArraySets Class" from LibGenric
     FieldNames.Init   '// Initialize ArraySetsObject
     NoMoreCols = False    
     Do  Until NoMoreCols = True     '// As far as there are Cols in the Table
           FieldName$ = rst.Fields ( ColCount% ).Name '// Get ColName
           If FieldName$ = "" Then   '// if ColName is Nothing
                 NoMoreCols = True      '// do some stuff to leave this routine
           Else
                 FieldNames.AddElement ( FieldName$ )
                 FieldName$ = ""                    '// else fill the ArraySetsObject with the colNames
                 ColCount% = ColCount% + 1  '// increase the counter
           End If
     Loop
     ColCount% = FieldNames.TotalElements '// Get Number of Cols
    '=======================================================================    
     rst.MoveFirst
     
     Do Until rst.EOF ' as long as there are records in the table
    '// get a record; we do not need rst.MoveNext because the pointer
    '// is automatically positoned to the next record
           RecValue = rst.GetRows()
           
           For i% = 0 To ( ColCount% - 1 )
                 tmp$ = tmp$ + ", " + RecValue ( 0 , i% )
           Next      
           
           Msgbox tmp$
           tmp$ = ""
     Loop
     
     rst.Close
     Set rst = Nothing
     Set Accessdb = Nothing
End Sub

'==========================================================================================
' C L A S S "ArraySets"
'==========================================================================================
Class ArraySets
     Public Value() As String
     Public TotalElements As Integer
     
     Sub Init
           TotalElements = 0
           Redim Value(1 To 1) As String
     End Sub
     
     Sub AddElement(NewValue As String)
           TotalElements = TotalElements + 1
           Redim Preserve Value(1 To TotalElements) As String
           Value(TotalElements) = NewValue
     End Sub
     
     Function Search(SearchFor As String) As Integer
           Dim CurrentLabelEntry As Integer
           CurrentLabelEntry = 1
           Forall c In Value
                 If Ucase(c) = Ucase(SearchFor) Then Exit Forall
                 CurrentLabelEntry = CurrentLabelEntry + 1
           End Forall
           Search = CurrentLabelEntry
     End Function
End Class
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline M_Messer

  • Junior Mitglied
  • **
  • Beiträge: 98
  • Geschlecht: Männlich
Re: schnittstelle --> access
« Antwort #3 am: 23.04.02 - 08:15:37 »
vielen dank. mal sehen. ich werde das heute mal ausprobieren
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
- notes 5.0.4
- nt 4.0 sp6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz