tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
2769
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jacizzle Jacizzle ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Beiträge
    73
    Naja, da ich mich noch garnicht mit Record Sets auskenne ( Bei MySQL braucht ich sowas noch nicht bisher ;o) ), versuch ich einfach mal hier ne Frage zu stellen und hoffe auf ne Antwort, also Beschreibung:

    Ich hab nen Formular erstellt mit Access und lese aus einem Textfeld ne Artikelnummer aus und will damit halt die Abfrage erstellen die ich brauch.. Mein Ziel ist halt mehrere Textfelder mit den Artikeldaten zu füllen .. also ich hab z.B. das Textfeld txtBezeichnung1, und da soll halt dann auch die Bezeichnung rein von dem Artikel was in dem Artikelnummerfeld steht..

    Die Tabelle mit den ganzen Datensätzen sitzt auf nem Microsoft SQL Server und heisst Artikel.. nu hab ich mit Recordset versucht den ganzen Mist auszulesen und wollte es dann in die einzelnen Felder einfügen und das hab ich so gemacht:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
        Dim rs As ADODB.Recordset
        Dim sQry As String
        Dim sArtNr As String
        
        sArtNr = Me.txtArtikelNr
            
            sQry = "SELECT Artikelnummer, Mandant, "
            sQry = sQry & " Bezeichnung1 FROM KHKArtikel"
            sQry = sQry & " WHERE (Artikelnummer = " & sArtNr & ") "
            sQry = sQry & " AND (Mandant = " & gnManId() & ")"
            
            Set rs = goMandant.oData.rsOpenRecordset(sQry)

    Naja, eigentlich dachte ich das funktioniert so, aber da kommt immer nen Fehler und zwar:
    Objektvariable oder With-Blockvarible nicht festgelegt..

    Womit ich nu überhaupt nix anfangen kann ehrlich gesagt.. vielleicht kann mir ja mal irgendeiner helfen, oder mir evt. mal nen Quelltext hier rein kopieren der funktionieren müsste ..

    Danke im vorraus..
     

  2. #2
    andi_g69 andi_g69 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Beiträge
    174
    Wie sind denn goMandant und oData deklariert?
    Und die Methode rsOpenRecordSet ist mir auch nicht bekannt
     

  3. #3
    Jacizzle Jacizzle ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Beiträge
    73
    Hmm .. könnte sein, dass die in dem Programm programmiert wurden, mit dem ich ein Formular bestellen will .. ;o) ...

    Aber egal, vielleicht kannst du mir ja trotzdem erklären, wie ich mit den Recordsets arbeite und eine Verbindung zur Microsoft SQL Datenbank mache..

    Also soweit ich das verstanden hab, muss ich ja erstmal den Recordset deklarieren und wenn ichs nochmal richtig verstanden habe, dann macht mans so:

    Code :
    1
    
     Dim rst As New ADODB.Recordset

    So und als nächstes, soweit ich das richtig verstanden hab, sollte man ja ne Verbindung zur Datenbank herstellen aus der man die Daten auslesen will, und wenn ichs ( laut meinen seltsamen Unterlagen ;o) ) richtig verstanden habe, geht das mit der Funktion:

    Code :
    1
    
     rst.Open

    richtig?

    So in meinen Unterlagen steht hinter rst.open nochwas, womit ich, denke ich zumindestens, nicht zur SQL Datenbank von Microsoft verbinde, sondern mit ner Tabelle von Access selber und zwar:

    Code :
    1
    
     rst.Open "tblRaum", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    Ich nehme an das tblRaum ne Tabelle von Access ist und CurrentProject.Connection wird wohl ne Verbindung zu der Datenbank von Access herstellen? okay, die anderen beiden Parameter versteh ich nicht wirklich..

    Naja, ist nen bisschen schwer rauszufinden, wie das mti den Recordsets usw. funktioniert, wenn man nicht mal nen paar Unterlagen dazu hat und Beispiele wo man sieht wie das funktioniert...

    Falls ich denn mal schaffen sollte, ne Verbindung zur SQL Datenbank herzustellen, will ich dann halt ne Bezeichnung von nem Artikel ( in der Microsoft SQL - Datenbank ) auslesen und in nem Textfeld wieder ausgeben ...

    Naja vielleicht kannst du ( bzw. ihr ) mir ja mal erklären, wie das geht.. vielleicht auch mir nen paar Beispielen? Wär echt cool, wenn nicht... auch nicht sooooooooo schlimm, irgendwann finds ichs schon raus. Hoffe ich hab nun genug gelabert :P
     

  4. #4
    tglynx tglynx ist offline Grünschnabel
    Registriert seit
    Dec 2008
    Beiträge
    1
    Salute!

    Dein Code Sample da oben ist genau richtig! Die Sage OfficeLine Systemobjekte müssen aber initialisiert sein damits geht!

    Du hast vermutlich versucht Dein Formular direkt aus dem Entwurfsmodus oder per doppelklick zu öffnen...

    Das geht natürlich nicht

    Einen direkten adodb.recordset auf die Datenquelle aufzumachen würd ich nicht raten (jedenfalls nicht in der Umgebung)

    Der Weg übers Mandantenobjekt ist schon richtig!

    Grüße
    somi
     

Ähnliche Themen

  1. [Access/VBA] ADODB Recordset
    Von Thomas Darimont im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 17.12.09, 08:39
  2. NULL abfrage von ADO Recordset mit RTF Access Memo-Daten
    Von herberta im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 09.08.06, 16:11
  3. [Dringend] Access: RecordSet eines Unterformulars editieren
    Von Billie im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 13.06.06, 22:02
  4. Access Index eines Recordset
    Von FTUK im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 14.12.04, 15:49
  5. RecordSet aus ComboBox in Access
    Von Azuni im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 06.11.03, 15:30