collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 59
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14446
  • stats Beiträge insgesamt: 71936
  • stats Themen insgesamt: 9705
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Query Aufruf mit Parameterübergabe  (Gelesen 7991 mal)

Offline cyberchris

  • Access-Profi
  • **
  • Beiträge: 299
Query Aufruf mit Parameterübergabe
« am: Juni 16, 2011, 07:19:51 »
Hallo,

ich habe mir eine Abfrage gebastelt und möchte diese per VBA aufrufen und dabei ein Parameter übergeben.
Mein Entwurf sieht wie folgt aus: (Den Parameter habe ich mal hart definiert, soll aber später aus einem Textfeld kommen)
=> In der Abfrage gibt es eine Spalte mit dem Namen "IDoWAG"

Private Sub Befehl0_Click()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
 
Set db = CurrentDB
Set qdf = db.QueryDefs("PMDB-ErweiterungA")
qdf.Parameters!IDoWAG = "00100010"
 
qdf.Execute
qdf.Close: Set qdf = Nothing
Set db = Nothing
End Sub
 
 
Abfrage im SQL-Format:
SELECT [PMDB-Erweiterung].Serial, [PMDB-Erweiterung].Feld1, [PMDB-Erweiterung].Feld2, [PMDB-Erweiterung].Feld3, [PMDB-Erweiterung].IDoWAG
FROM [PMDB-Erweiterung]
ORDER BY [PMDB-Erweiterung].Serial, [PMDB-Erweiterung].Feld1;
 
 
 Beim Aufruf kommt diese Fehlermeldung. Wisst ihr, was hier falsch ist?
=> Fehlermeldung: Laufzeitfehler: 3265 "Element in dieser Auflistung nicht gefunden"

Vielen DANK!
Gruß Christoph
 

Offline Jonny

  • Access-Meister
  • ***
  • Beiträge: 639
Re: Query Aufruf mit Parameterübergabe
« Antwort #1 am: Juni 16, 2011, 08:19:32 »
Hallo Christoph,

auf den ersten Blick kann man nicht erkennen welches Feld fehlt.

Sind wirklich alle Felder so benannt? Vor allem Feld1, Feld2 kommen mir komisch vor.
So benennt man ja keine Felder.

Gruß

Johann
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23782
Re: Query Aufruf mit Parameterübergabe
« Antwort #2 am: Juni 16, 2011, 12:17:14 »
Hallo,


die Abfrage sollte (bei dieser Konstellation) in etwa so aussehen:

Parameters IDoWAG Text (255);
SELECT [PMDB-Erweiterung].Serial, [PMDB-Erweiterung].Feld1, [PMDB-Erweiterung].Feld2, [PMDB-Erweiterung].Feld3, [PMDB-Erweiterung].IDoWAG
FROM [PMDB-Erweiterung]
ORDER BY [PMDB-Erweiterung].Serial, [PMDB-Erweiterung].Feld1;




wobei die Verwendung von Execute (gilt für Aktions- und nicht für Auswahlabfragen) nicht sinnvoll ist.


Insgesamt stellt sich die Frage, für was das Ganze überhaupt gut ist, bzw. verwendet werden soll.


Offline cyberchris

  • Access-Profi
  • **
  • Beiträge: 299
Re: Query Aufruf mit Parameterübergabe
« Antwort #3 am: Juni 22, 2011, 12:15:39 »
Hallo,

ich habe die Felder nun umbenannt.

Leider funktioniert das noch immer nicht.
Wenn ich die Abfrage aufrufe, funktioniert es: Es Kommt eine Abfrage der "IDoWAG"; anschließend das Ergebnis.

Wenn ich dies aber über eine Eregnisprozedur eines Formulars aufrufen möchte kommt die Meldung: "Eine Auswahlabfrage kann nicht ausgeführt werden"

Abfrage:
PARAMETERS IDoWAG Text ( 255 );
SELECT [PMDB-Erweiterung].ID, [PMDB-Erweiterung].[Serien-Nr], [PMDB-Erweiterung].[Prüfmittel-Nr], [PMDB-Erweiterung].IdentNr, [PMDB-Erweiterung].Nennmaß, [PMDB-Erweiterung].Genauigkeitsgrad, [PMDB-Erweiterung].Bemerkung
FROM [PMDB-Erweiterung]
ORDER BY [PMDB-Erweiterung].ID, [PMDB-Erweiterung].[Serien-Nr];

Eregnisprozedur:
Dim db As DAO.Database
Dim qdf As DAO.QueryDef

Set db = CurrentDB
Set qdf = db.QueryDefs("PMDB-ErweiterungA")
qdf.Parameters!IDoWAG = "00100010"

qdf.Execute
qdf.Close: Set qdf = Nothing
Set db = Nothing



gruß Christoph
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23782
Re: Query Aufruf mit Parameterübergabe
« Antwort #4 am: Juni 22, 2011, 12:18:50 »
Hallo,

Du hast die beiden letzten Sätze in meinem letzten Post nicht gelesen....

Offline cyberchris

  • Access-Profi
  • **
  • Beiträge: 299
Re: Query Aufruf mit Parameterübergabe
« Antwort #5 am: Juni 22, 2011, 12:36:24 »
Hallo,

habe ich gelesen.

zu 1. Habe keine andere Lösung
zu 2. Ich kann versuchen es zu erklären, jedoch kompliziert:
Ich habe Werkzeuge, die in einer Tabelle gelistet sind. Zu manchen Werkzeugen gibt es Einzelteile, die ich auch auflisten (in einer weiteren Tabelle) möchte. Und ich möchte mit dieser Abfrage darauf zugreifen können. Ich benötige hierfür kein Formular.

Gruß Christoph
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23782
Re: Query Aufruf mit Parameterübergabe
« Antwort #6 am: Juni 22, 2011, 13:10:19 »
Hallo,


1:   die Lösung kann ich Dir sagen:  benutz anstelle "Execute" "Openrecordset"  und weise dieses Recordset einem Listenfeld oder Unterform zu:

Set Me!lstListenfeld1.Recordset = qdf.OpenRecordset
oder
Set Me!Ufo_Steuerelementname.Form.Recordset = qdf.OpenRecordset



2:  Da ist nichts kompliziert. Vermutlich machst Du es Dir halt nur..  "Ich benötige hierfür kein Formular" ist nicht empfehlenswert.  Abfragen nur in Abfrageansicht (für den User-Betrieb) zu präsentieren, ist nicht angebracht. Die Daten sollten besser in einem Listenfeld  oder in diesem Fall noch besser mit einem Unterform (Verwenden der Eigenschaften "Verknüpfen von/nach")  angezeigt werden. Dafür brauchst Du die ganze Paramters-Geschichte nicht.

Offline cyberchris

  • Access-Profi
  • **
  • Beiträge: 299
Re: Query Aufruf mit Parameterübergabe
« Antwort #7 am: Juni 24, 2011, 09:03:57 »
Dachte halt um die Dateigröße (mdw) von bereits mittlerweile 12 MB nicht noch mehr aufzublähen.

Versuche mich dann doch an einem Formular.

Danke
gruß Christoph
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23782
Re: Query Aufruf mit Parameterübergabe
« Antwort #8 am: Juni 24, 2011, 18:46:00 »
Hallo,


da könnte ein "Komprimieren/Reparieren von Zeit zu Zeit helfen...

Offline cyberchris

  • Access-Profi
  • **
  • Beiträge: 299
Re: Query Aufruf mit Parameterübergabe
« Antwort #9 am: Juni 24, 2011, 19:25:33 »
mache ich auch immer und das niedrigste sind eben ca. 12 MB.

Gruß Christoph
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23782
Re: Query Aufruf mit Parameterübergabe
« Antwort #10 am: Juni 24, 2011, 19:31:08 »
Hallo,

naja, wenn das nichts nützt, dann ist die DB halt "voll" mit Code, wenn nicht nebenbei noch Bilder irgendwo eingebettet sind, oder OLE-Objekte verwendet werden.

Andererseits sind ja 12MB nur als relativ groß zu sehen. Soooo viiieeel ist das ja nun auch wieder  nicht.
.


 

Zwei Parameterabfragen in einer query

Begonnen von ScoopmanBoard Tabelle/Abfrage

Antworten: 1
Aufrufe: 1855
Letzter Beitrag Oktober 18, 2010, 17:18:51
von DF6GL
Wert aus Listenfeld als in SQL Query?

Begonnen von RaginRobBoard Tabelle/Abfrage

Antworten: 1
Aufrufe: 2503
Letzter Beitrag Januar 17, 2011, 14:19:20
von database
SQL Abfrage mit DoCmd.RunSQL und Cstr in SQL-Query

Begonnen von Hans40Board Tabelle/Abfrage

Antworten: 11
Aufrufe: 8982
Letzter Beitrag Februar 04, 2011, 18:46:47
von database
Hilfe bei SQL-Query

Begonnen von imp666Board Tabelle/Abfrage

Antworten: 3
Aufrufe: 3048
Letzter Beitrag März 18, 2011, 08:22:00
von imp666
SQL-Query-String direkt an Backend senden

Begonnen von imp666Board Access Programmierung

Antworten: 7
Aufrufe: 5962
Letzter Beitrag März 24, 2011, 11:18:31
von Hondo

Advertisment / Werbung - Amazon Affiliate Links