Alex Schneider: Access und Anfänger

Hallo,

ich bin Anfänger, was sowohl für Datenbanken als auch VB gilt. Ich bin so weit gekommen:
Dim myRecordset
Set myRecordset = myDatabase.OpenRecordset("SELECT loginname FROM dbo_employee")

Nun möchte ich aber endlich z.B. nur ein bestimmtes Feld des Recordsets auslesen...
Wie geht das???

Gruß
Alex

  1. Hallo Alex,

    ich glaube, es ist besser, dass du so vorgehst;

    Dim conn As New ADODB.Connection
    Dim RS As Recordset
    conn.Open "DSN=TabellenName"

    strSel = "Select Feld1,Feld2,... From Tabelle [Where ...]"
    Set RS = Conn.ExeCute(strSel)

    jetzt kannst du die einzelne Felder so ausgeben:

    ...RS(0) für Feld1
    ...RS(1) für Feld2

    Sohail

    1. Hallo Sohail,

      ich werde es ausprobieren. An und für sich will ich nichts Großes machen. Ich will einfach nur ein paar Access-Daten auslesen und dann Strings zusammenbasteln, es in eine ASCII-Datei abspeichern.Das wird dann in einem (schon vorhandenen) Perl-Skript weiterverarbeitet.

      Gruß
      Alex

      1. Hallo Alex,

        du musst aber das bedenken, dass jede Programmiersprache eine eigene Art hat Datenbanken und Tabellen anzusprechen.

        z.B. bei asp:
        set conn = Server.CreateObject ("ADODB.connection")
        conn.Open "UID=;PWD=;DSN=test"

        Ich weiss, dass diese auch bei PHP und Perl anders ist. Das heisst, eine Anweisung oder Befehl, die z.B. in VB oder ASP funktioniert, muss nicht unbedingt auch woanders funktionieren.

        Viel Erfolg.
        Sohail

        1. Hallo Sohail,

          naja, irgendwie übermannt mich das Thema.
          Eigentlich ist est wirklich nicht viel, was ich möchte:
          a) Alle zu verarbeitenden Daten liegen in einer Access-Datei
          b) Ich schaue mit SQL nach den gesuchten Daten in einer bestimmten Tabelle
          c) Und hole ich mir die zu b) gehörenden Daten aus anderen Tabellen
          d) Das ganze verpacke ich in ein Array von Strings
          e) Das Array soll als ASCII-Datei in einem bestimmten CSV-Format vorliegen

          Das kann doch nicht so schwierig sein ...
          Für mich erweist sich nicht SQL (wirklich einleuchtend) als Hindernis, sondern die Zugriffstruktur, die mir Access und VB vorschreiben. Da blicke ich ehrlich gesagt nicht durch.

          Gruß
          Alex

          1. Hallo Alex,

            naja, irgendwie übermannt mich das Thema.
            Eigentlich ist est wirklich nicht viel, was ich möchte:
            a) Alle zu verarbeitenden Daten liegen in einer Access-Datei
            b) Ich schaue mit SQL nach den gesuchten Daten in einer bestimmten Tabelle
            c) Und hole ich mir die zu b) gehörenden Daten aus anderen Tabellen

            liegen die zugehörigen Daten auch in der Access-DB?

            d) Das ganze verpacke ich in ein Array von Strings
            e) Das Array soll als ASCII-Datei in einem bestimmten CSV-Format vorliegen

            wenn das eine einmalige Sache sein soll, brauchst du kein VB,
            dann kannst du das ganze auch über Abfragen und die Exportfunktionalität von Access steuern.
            Wenn nicht, würde ich dir in deinem Fall empfehlen einen View (in Access heisst es auch Abfrage zu erstellen) und darauf das VB-Script (wenn du es überhaupt benötigst) zugreifen zu lassen. Das sollte in ASP dann so funktionieren, wie es Sohail bereits beschrieben hat.

            Gruß
            Stefan

            1. Hallo Alex,

              wenn das eine einmalige Sache sein soll, brauchst du kein VB,
              dann kannst du das ganze auch über Abfragen und die Exportfunktionalität von Access steuern.

              ich stimme Stefan da zu. Ich kann dir die Verwendung der Standard-Formulare -Abfragen und -Berichte sehr ans Herz legen. Dazu sind die Access-Makros seeehr leistungsfähig und leicht verständlich.

              Du mußt nur erst begreifen, dass jegliche Datenmanipulation über Formulare stattfindet. Wenn Du das Formular nicht sehen willst, dass dier den Zugriff auf die Daten ermöglicht, dann setzt Du einfach in das Makro als erstes den Befehl echo=nein. das Formular wird dann nur unsichtbar geöffnet und steht dir trotzdem für die Datenmanipulation zur Verfügung.

              Zweite Grundregel: Über den Assistenten arbeiten und NUR auf geladene Formulare zugreifen. Dann werden die Qualifizierten Bezeichner richtig aufgebaut. Wenn Du Zugriffe auf Daten über NICHT GELADENE Formulare "programmierst" stehst Du eventuell später im Wald.

              Du brauchst eigentlich ur ganz wenige Makro-Befehle:

              setzenwert
              öffnenObjetkt
              gehe zu Steuerelement (bezieht sich immer auf das aktuelle Formular)
              suchen Datensatz (über das aktuelle Steuerlement)

              Mehr Wichtiges fällt mir eigentlich nicht ein.

              Wenn Du nicht weiter kommst, spiel ein wenig mit "Meldung" rum. das klärt einiges.

              Liebe Grüße

              Tom