GeomarketingForum.com
September 08, 2010, 02:41:53 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: Verfolge alle RegioGraph Meldungen auf Twitter
www.twitter.com/regiographpress
 
   Übersicht   Hilfe Suche Kalender Login Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: Anbindung von RegioGraph an Access oder Excel  (Gelesen 6593 mal)
paff
Administrator
Hero Member
*****
Beiträge: 820


439627146
Profil anzeigen WWW
« am: Februar 05, 2007, 07:30:00 »

Um RegioGraph an Access oder Excel anzubinden, kann einfach die normale Schnittstelle benutzt werden.
Import funktioniert über die Microsoft DAO 3.6 Object Libary

Beispiel
Zitat
Public Sub ImportData()

' ... Bitte setzen Sie unter Extras/Verweise
'     einen Verweis auf "Microsoft DAO 3.6 Object Libary"

' ... Database-Objects
Dim dbData As Database
Dim rsData As Recordset

Dim layImport As rgLayer

' ... Vergleichspalten
Dim rgMatchCol As Integer
Dim ExcelMatchCol As Long

Dim lObjectIndex As Long
Dim vValueRef As Variant

Dim vNewData As Variant
Dim j As Long

' ... Layer anhand des Names suchen       .....Layername.....
Set layImport = project.SearchLayerByName("Deutschland Kreise")
If Not layImport.Loaded Then
    MsgBox "Layer nicht geladen"
    Exit Sub
End If

' ... Suchspalte im Importlayer
rgMatchCol = 0
' ... MatchColIndex from Excel-Sheet
ExcelMatchCol = 0

' ... Wenn nötig können mit dieser Function alle Daten im Layer gelöscht werden.

'DeleteLayerData layImport

' ... Daten von EXCEL     ...Pfad zur Exceldatei
Set dbData = OpenDatabase("D:\RegioGraph Makros\Data\ExcelImport.xls", False, True, "Excel 5.0;") 'or Excel 8.0
'                           ... ExcelTabellen-Name
Set rsData = dbData.OpenRecordset("Tabelle1$")

' ... Alle Datensätze der EXCEL-Tabelle durchlaufen
Do Until rsData.EOF
    ' ... Leere Felder ignorieren
    If Not IsNull(rsData(ExcelMatchCol)) Then

        ' ... Daten der Excel-Referenzspalte
        vValueRef = rsData(ExcelMatchCol)
        ' ... Suche diesen Datensatz RegioGraph-Layer
        lObjectIndex = layImport.FindValue(rgMatchCol, vValueRef)
        If lObjectIndex > -1 Then
            ' ... Wenn ein Objekt gefunden wurde
                ' ... Achtung: Spaltenzählung beginnt immer bei 0
                ' ... Daten aus 2. Excel Spalte
                vNewData = rsData(1)

                ' ... Import in 4. RegioGraph-Spalte
                layImport.SetValue lObjectIndex, 3, vNewData
                           
                ' ... Daten aus 3. Excel Spalte
                vNewData = rsData(2)
                ' ... Import in 5. RegioGraph-Spalte
                layImport.SetValue lObjectIndex, 4, vNewData
               
                ' ... Mögliche weitere Datenspalten
'                    ' ... Daten aus 4. Excel Spalte

'                    vNewData = rsData(3)
'                    ' ... Import in 6. RegioGraph-Spalte
'                    layImport.SetValue lObjectIndex, 4, vNewData

'                    ' ... Daten aus 5. Excel Spalte
'                    vNewData = rsData(4)
'                    ' ... Import in 7. RegioGraph-Spalte
'                    layImport.SetValue lObjectIndex, 4, vNewData
       
        Else
            ' ... Wenn keine Übereinstimmung gefunden wurde Meldung

            MsgBox "Data: " & vValueRef & " hat keine Übereinstimmung mit RG-Abgleichspalte!"
        End If
    End If
    ' ... Nächster Excel-Datensatz
    rsData.MoveNext
Loop

' ... Hier kann Layer dann mit neuen Daten abgespeichert werden
'layImport.Save

Set layImport = Nothing

Set dbData = Nothing
Set rsData = Nothing

' ... Wenn eine Karte aktiv diese neu zeichnen

If Not ActiveMap Is Nothing Then
    ActiveMap.Refresh
End If

MsgBox "Datenimport beendet"

End Sub
Gespeichert

Follow RegioGraph on Twitter
http://twitter.com/regiograph
Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS