Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Problem mit ADO - Aktualisierung der Abfrage Fehler 3265
zurück: Abfrage per Makro ausdrucken weiter: Zeile in excel loschen -> record in Access loeschen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
ozonHans
Gast


Verfasst am:
08. Jul 2007, 14:55
Rufname:

Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Hallo Zusammen, als Klausurvorbereitung Datenbanken wollte ich eine ABC-Analyse machen und bekomme den Laufzeitfehler 3265 nicht in den Griff:
Zitat:
Ein Objekt, das dem Angeforderten Namen entspricht, konnte nicht gefunden werden
Wer erkennt den Fehler (siehe unten Set cmd = cat.Views(qryName).Command)? Die zu aktualisierende Abfrage ist als AKTUALISIERUNGSABFRAGE (AktualisiereABC) in Access angelegt worden
Code:
Option Compare Database

Sub abcAnalyse()
    Dim conn As New ADODB.Connection
    Dim SQLS As String
    Dim SQLU As String
    Dim SQLABC As String
    Dim rsUpdate As New ADODB.Recordset
    Dim rsSumme As New ADODB.Recordset
    Dim rsABC As New ADODB.Recordset
    Dim Summe As Double
    Dim Abfrage As String
    Dim ATeil As Double
    Dim BTeil As Double
    Dim UpdateAnweisung As String
    Dim kummuliert As Double
    Dim Artikel As Integer

    Set conn = CurrentProject.Connection    ' aktuelle Datenbank
    '_______________________________________
    '***SUMME DER BEWERTETEN VERBRÄUCHE*****
    SQLS = "SELECT Sum(Preis*Verbrauch) AS Summe " & Chr(10) & _
             "FROM ABCAnalyse " & Chr(10)
    Debug.Print SQLS
    rsSumme.Open SQLS, ActiveConnection:=conn
    Summe = rsSumme!Summe
    rsSumme.Close
    '____________________________________________________________
    '*****LISTE DATEN ABSTEIGEND SORTIERT (PREIS*VERBRAUCH)******
    SQLABC = "SELECT Artikel, Preis*Verbrauch as Wert " & Chr(10) & _
               "FROM ABCAnalyse " & Chr(10) & _
           "ORDER BY Preis*Verbrauch DESC " & Chr(10)
    Debug.Print SQLABC
    rsABC.Open SQLABC, ActiveConnection:=conn
    '________________________________________
    '************SQL FÜR UPDATE**************
    SQLU = "UPDATE ABCAnalyse " & Chr(10) & _
              "SET ABC = '" & UpdateAnweisung & "' " & Chr(10) & _
            "WHERE Artikel = " & Artikel & Chr(10)
    Debug.Print SQLU
    kummuliert = 0
    Artikel = 0
    ATeil = 80
    BTeil = 95
    UpdateAnweisung = ""
    Abfrage = "aktualisiereABC"
    Do Until rsABC.EOF
        Debug.Print rsABC!Wert
        Debug.Print rsABC!Artikel
        kummuliert = kummuliert + rsABC!Wert
        Artikel = rsABC!Artikel
        If (kummuliert / Summe) < ATeil Then
            UpdateAnweisung = "A"
          ElseIf (kummuliert / Summe) < BTeil Then
            UpdateAnweisung = "B"
          Else
            UpdateAnweisung = "C"
        End If
        Debug.Print UpdateAnweisung
        Call AktualisiertAbfrage(conn, Abfrage, SQLU)
        rsABC.MoveNext
    Loop
    rsABC.Close
    conn.Close
End Sub
Code:
Public Sub AktualisiertAbfrage(conn As ADODB.Connection, qryName As String, _
                               SQLS As String)
    Dim cmd As New ADODB.Command
    Dim cat As New ADOX.Catalog       'ist db-Rahmen
    Dim view As ADOX.view             ' ist db-Betrachter
   
    Set cat.ActiveConnection = conn
    Set cmd = cat.Views(qryName).Command  '<<<<<< HIER DER FEHLER!!!!!!!!!!!!
    cmd.CommandText = SQLS
    Set cat.Views(qryName).Command = cmd
    cat.Views.Refresh
End Sub
rita2008
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. Jul 2007, 18:16
Rufname:
Wohnort: Berlin


AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

ich kann mir nur vorstellen, dass qryname eine nicht existierende View enthält.
_________________
mfg Rita

Antworten bitte hier im Forum, nicht als private Nachricht. Danke
ozonHans
Gast


Verfasst am:
08. Jul 2007, 18:45
Rufname:

AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

qryname ist ein String, der genauso heisst wie eine Aktualisierungsabfrage, die zuvor in Access ganz normal angelegt wurde. Ich habe testweise mal eine normale abfrage erstellt, aber damit kam der gleiche Fehler.
Willi Wipp
Moderator


Verfasst am:
09. Jul 2007, 00:28
Rufname:
Wohnort: Raum Wiesbaden

Re: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - Re: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Hi ozonHans,

kannst Du die Abfrage von "Hand" aus dem Datenbankfenster ausfuehren?
Sind eventuell Formular-Steuerelementbezuege enthalten?
Was passiert wenn Du im Direktbereich (Strg+G; Testfenster) folgendes versuchst?
Code:
DoCmd.RunSQL "aktualisiereABC"

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
ozonhans
Gast


Verfasst am:
09. Jul 2007, 12:19
Rufname:


AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Hallo,

wenn ich DoCmd.RunSQL "aktualisiereABC" im direktfenster eingebe kommt die Fehlermeldung : 3129:
Zitat:
Unzulässiges kommando Insert, Delete, Update oder select erwartet.
Diese fehlermeldung erscheind auch bei jeder x-beliebigen abfrage (DoCmd.RunSQL "XYZ").
Gast



Verfasst am:
09. Jul 2007, 13:12
Rufname:

AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Hallo,

vermutlich muss auf cat.Procedures("Abfragename").Command.CommandText bei der Geschichte verwiesen werden.
Willi Wipp
Moderator


Verfasst am:
09. Jul 2007, 16:10
Rufname:
Wohnort: Raum Wiesbaden

Re: Problem mit ADO - Aktualisierung der Abfrage ... (II) - Re: Problem mit ADO - Aktualisierung der Abfrage ... (II)

Nach oben
       Version: Office XP (2002)

Hi ozonHans,

DoCmd.RunSQL kann nur mit ausfuehrbaren Aktionsabfragen verwendet werden.
==> Nicht mit jeder beliebigen Abfrage.
Und was passiert wenn Du die Abfrage von "Hand" aus dem Datenbankfenster ausfuehrst?
Es waere nett wenn Du auf alle Punkte (Fragen) unserer Beitraege eingehen koenntest.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
rita2008
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Jul 2007, 19:26
Rufname:
Wohnort: Berlin

AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Wie sieht denn die SQL Deiner Abfrage aus?
_________________
mfg Rita

Antworten bitte hier im Forum, nicht als private Nachricht. Danke
ozonHans
Gast


Verfasst am:
10. Jul 2007, 11:20
Rufname:

AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Problem erledigt,

Set cmd = cat.Views(qryName).Command gilt nur für eine Abfrage und nicht für ein Tabellenupdate, das Tabellenupdate wird vorher NICHT als Abfrage in Acces angelegt, sondern mit den Befehl conn.Execute "Updateanweisung" ausgeführt, warum das so ist, keine Ahnung, dazu habe ich zuviel Halbwissen.

Hier die Loesung (Professoren wissen einfach alles!):
Code:
Option Compare Database
Option Explicit

Sub abcAnalyse()
    Dim conn As New ADODB.Connection
    Dim SQLS As String
    Dim SQLU As String
    Dim SQLABC As String
    Dim rsUpdate As New ADODB.Recordset
    Dim rsSumme As New ADODB.Recordset
    Dim rsABC As New ADODB.Recordset
    Dim Summe As Double
    Dim Abfrage As String
    Dim ATeil As Double
    Dim BTeil As Double
    Dim UpdateAnweisung As String
    Dim kummuliert As Double
    Dim Artikel As Integer
   
    Set conn = CurrentProject.Connection    ' aktuelle Datenbank
    '_______________________________________
    '***SUMME DER BEWERTETEN VERBRÄUCHE*****
    SQLS = "SELECT Sum(Preis*Verbrauch) AS Summe " & Chr(10) & _
             "FROM  ABCAnalyse " & Chr(10)
'    Debug.Print SQLS
    rsSumme.Open (SQLS), ActiveConnection:=conn
    Summe = rsSumme!Summe
    rsSumme.Close
    '____________________________________________________________
    '*****LISTE DATEN ABSTEIGEND SORTIERT (PREIS*VERBRAUCH)******
    SQLABC = "SELECT Artikel, Preis*Verbrauch as Wert " & Chr(10) & _
               "FROM  ABCAnalyse " & Chr(10) & _
           "ORDER BY Preis*Verbrauch DESC"
'    Debug.Print SQLABC
    rsABC.Open (SQLABC), ActiveConnection:=conn
    kummuliert = 0
    Artikel = 0
    ATeil = 0.8
    BTeil = 0.95
    UpdateAnweisung = ""
    Abfrage = "aktualisiereABC"
    Do Until rsABC.EOF
'        Debug.Print rsABC!Wert
        kummuliert = kummuliert + rsABC!Wert
        Artikel = rsABC!Artikel
'        Debug.Print Artikel
        If (kummuliert / Summe) < ATeil Then
            UpdateAnweisung = "A"
          ElseIf (kummuliert / Summe) < BTeil Then
            UpdateAnweisung = "B"
          Else
            UpdateAnweisung = "C"
        End If
        Debug.Print Artikel & " " & rsABC!Wert & " " & UpdateAnweisung & _
                    " " & kummuliert & " " & (kummuliert / Summe)
        '________________________________________
        '************SQL FÜR UPDATE**************
        SQLU = "UPDATE ABCAnalyse " & _
                  "SET ABC = '" & UpdateAnweisung & "' " & Chr(10) & _
                "WHERE Artikel = " & Artikel
        ' Updateanweisung immer mit conn.execute ausführen!!!
        ' Die Function aktualisiereAbfrage nur verwenden für Select-Abfragen
        conn.Execute SQLU
        rsABC.MoveNext
    Loop
    rsABC.Close
    conn.Close
End Sub
Willi Wipp
Moderator


Verfasst am:
10. Jul 2007, 12:36
Rufname:
Wohnort: Raum Wiesbaden

Re: Problem mit ADO - Aktualisierung der Abfrage ... (III) - Re: Problem mit ADO - Aktualisierung der Abfrage ... (III)

Nach oben
       Version: Office XP (2002)

Hi ozonHans,

sorry aber das man eine nicht exisitierende Abfrage nicht ausfuehren kann, hat doch nichts mit Halbwissen zu tun Smile
Wenn Du die Abfrage nicht als gespeicherte Abfrage vorliegen hast,
dann kannst Du sie natuerlich auch nicht ueber einen Abfragenamen aufrufen Wink

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
ozonHans
Gast


Verfasst am:
10. Jul 2007, 14:12
Rufname:

AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

@ Willi Wipp

Ich verstehe gar nichts mehr: Also noch mal ganz langsam: Für mich als Halbwissenden ist eine Updateanweisung eine Abfrage und eine Select-Abfrage ist auch eine Abfrage. Die Sache ist, dass ich diese Function "AktualisiertAbfrage" nur kopiert habe und immer benutze für allerlei Anwendungen. Was im Detail dort geschieht, weiß ich nicht.

Hier mal eine ganz andere Frage: Wenn ich die Objektstruktur von VBA richtig schulmäßig verstehen möchte, welches Buch ist da am besten geeignet?
So verstehe ich z.B. überhaupt nicht,wenn ich z.B. eine ADODB.connection deklariere, was ich nachher alles damit machen kann, dafür fehlen mir die Grundlagen.
Diese ganze Objektgeschichte von JAVA z.B. hab e ich irgendwie verstanden (Was Objekte sind, konstruktoren, überladungen, überschreibungen unterklassen ect.)
Also: Welches Buch ruft einen richtigen "AHA-Effekt" hervor, dodass man wenigstens das gefühl hat VBA objektmässig verstanden zu haben (ähnlich wie in Java).

mfg
ozon
rita2008
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Jul 2007, 16:06
Rufname:
Wohnort: Berlin


AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265 - AW: Problem mit ADO - Aktualisierung der Abfrage Fehler 3265

Nach oben
       Version: Office XP (2002)

Am einfachste verwendest Du dazu die Online-Hilfe, dort stehen zu jedem Objekt die Eigenschaften und Methoden, oder den Objektkatalog(F2).

Wenn Du Dir das Inhaltsverzeichnis der Online-Hilfe anzeigen lässt, findest Du dort auch schematische Darstellungen der Objektmodelle. Für ADO z.B. über Microsoft ActiveX Data Objects /ADO Programmer's Reference/ADO API Reference /ADO Object Model.

_________________
mfg Rita

Antworten bitte hier im Forum, nicht als private Nachricht. Danke
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld im Formular als Kriterium für eine Abfrage 1 gunderma 2621 03. März 2004, 10:05
tania63 Kombinationsfeld im Formular als Kriterium für eine Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Summe in Abfrage mit meheren Kriterien 1 Gast 2706 01. März 2004, 16:43
borstel Summe in Abfrage mit meheren Kriterien
Keine neuen Beiträge Access Tabellen & Abfragen: [DANKE-ERLEDIGT] Join in einer Abfrage 2 Gast 803 01. März 2004, 08:36
ppc [DANKE-ERLEDIGT] Join in einer Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Meldungen bei Aktualisierung- u. Anfügeabfragen unterdrücken 5 Benny Access 9085 27. Feb 2004, 18:03
Benny Access Meldungen bei Aktualisierung- u. Anfügeabfragen unterdrücken
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Auswahlkriterium über 2 Tabellen 1 Majo 1907 24. Feb 2004, 13:54
Willi Wipp Abfrage mit Auswahlkriterium über 2 Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Aktualisierung auf Befehl 2 Sumo_Racer 498 18. Feb 2004, 10:53
ppc Aktualisierung auf Befehl
Keine neuen Beiträge Access Tabellen & Abfragen: Formulargesteuerte Abfrage 2 obismarck 2699 17. Feb 2004, 17:03
obismarck Formulargesteuerte Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Anzeige bei "ja/nein" Abfrage nicht korrekt 2 FWE 1288 12. Feb 2004, 14:10
FWE Anzeige bei "ja/nein" Abfrage nicht korrekt
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Bestimmte Abfrage erstellen ... nur wie ? 1 studi 2219 22. Dez 2003, 20:51
reke Bestimmte Abfrage erstellen ... nur wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, ob eine Abfrage ein Ergebnis hat 3 Esdo 3934 09. Dez 2003, 15:53
Fedaykin Abfrage, ob eine Abfrage ein Ergebnis hat
Keine neuen Beiträge Access Tabellen & Abfragen: Access 97 Abfrage Duplikate 9 gast 2419 02. Dez 2003, 14:39
Kay Access 97 Abfrage Duplikate
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP Forum