Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Sql-Abfrage als Steuerelementinhalt einer Textbox
zurück: Kombinationsfeld automatisch ergänzen (InputBox) weiter: Formularicon ausblenden Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Chr!ss
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. März 2010, 20:29
Rufname:

Sql-Abfrage als Steuerelementinhalt einer Textbox - Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

Hallo zusammen,

ich möchte das Ergebnis folgende Sql-Anweisung in einem Textfeld ausgeben lassen
Code:
SELECT   Count(A.AnlagenID) AS AnzahlvonAnlagenID
FROM     tab_BauAntragsunterlagenVorgabe AS V
         INNER JOIN (tab_Projekte AS P
                     INNER JOIN (tab_BauAntragsunterlagen AS B
                                 INNER JOIN tab_BauAntragsunterlagenAnlagen AS A
                                 ON B.ProjVorlID = A.ProjVorlID)
                     ON P.ProjektID = B.ProjektID)
         ON V.BauVorlID = B.VorlID
WHERE    P.ProjektID=30
AND      V.BauVorlID=89
GROUP BY P.ProjektID, V.BauVorlID;
{Aus HAVING-Klausel mach WHERE-Klausel und Alias (AS) gesetzt by Willi Wipp}
Ein Paar Infos zu Datenbank.
Erstmal ein Ausschnitt aus den Beziehungen: (siehe Anhang)
Die 4 Tabellen sind in der Abfrage vorhanden.

Ausgegeben soll das Ergebnis in einer Textbox in einem Endlosformular werden.
In dem Endlosformular sind weitere Textfelder, in denen in Eingaben treffen möchte. Somit fällt die Lösung flach, die Anzahl der Detaildatensätze schon in der Datenherkunft des Formulars zu berechnen, da ich dafür die Gruppierung aktivieren muss. Dadurch sind Änderungen am Inhalte der Abfrage nicht mehr möglich.

Hat jemand eine Idee, wie ich das Ergebnis dieser Abfrage in ein Textfeld bekomme?

Gruß + Vielen Dank vorrab!

Christian



unbenannt.jpg
 Beschreibung:
 Dateigröße:  61.34 KB
 Angeschaut:  3019 mal

unbenannt.jpg


ebs17
Learning by Doing - Bastler


Verfasst am:
28. März 2010, 21:03
Rufname:
Wohnort: Reinsberg


AW: Sql-Abfrage als Steuerelementinhalt einer Textbox - AW: Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

Ja, mit DLookupSQL.
Falls Du nicht CurrentDbC extra deklariert hast, kannst Du innerhalb der Funktion auch CurrentDb verwenden.

_________________
Mit freundlichem Glück Auf!

Eberhard


Zuletzt bearbeitet von ebs17 am 28. März 2010, 21:16, insgesamt einmal bearbeitet
Nouba
nicht ganz unwissend :)


Verfasst am:
28. März 2010, 21:07
Rufname:
Wohnort: Berlin

AW: Sql-Abfrage als Steuerelementinhalt einer Textbox - AW: Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

Hallo,

Du könntest in der Abfrage die DCount-Funktion (DomAnzahl) verwenden. Die Joins sind ja allemal unwichtig, weil die Kriterien auch direkt auf tab_BauAntragsunterlagenAnlagen angewendet werden können.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Chr!ss
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. März 2010, 11:17
Rufname:

Re: AW: Sql-Abfrage als Steuerelementinhalt einer Textbox - Re: AW: Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

Hallo zusammen,

Nouba - 28. März 2010, 21:07 hat folgendes geschrieben:
Hallo,

Du könntest in der Abfrage die DCount-Funktion (DomAnzahl) verwenden. Die Joins sind ja allemal unwichtig, weil die Kriterien auch direkt auf tab_BauAntragsunterlagenAnlagen angewendet werden können.

Schön, dass du mich wieder auf die richtige Spur gebracht hast. Manchmal sieht man den Wald vor lauter Bäume nicht mehr Shock Klappt so wunderbar.


@ebs17
Habe ich auch wieder was gelert. Kannte ich auch nicht. Allerdings habe ich mich für die einfachere Variante entschieden.

Nochmals vielen Dank euch zwei!

Gruß
Christian
ebs17
Learning by Doing - Bastler


Verfasst am:
29. März 2010, 11:45
Rufname:
Wohnort: Reinsberg

AW: Sql-Abfrage als Steuerelementinhalt einer Textbox - AW: Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

@Chr!ss: Wenn Du die Funktion verstanden hast, bemerkst Du auch, dass man auch eine einfache SQL-Anweisung übergeben kann ...
Code:
SELECT COUNT(FeldX) FROM Tabelle
... und praktisch immer performanter sein wird als mit einer Domänenaggregatfunktion.
_________________
Mit freundlichem Glück Auf!

Eberhard
Chr!ss
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. März 2010, 14:23
Rufname:

Re: AW: Sql-Abfrage als Steuerelementinhalt einer Textbox - Re: AW: Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

Hallo ebs17,

habe gerade folgende 2 Varianten im direkten Vergleich gegenübergestellt.

a) die Variante von Nouba
Code:
=DomAnzahl("AnlagenID";"tab_BauAntragsunterlagenAnlagen";"ProjVorlID=" & [ProjVorlID])


b) die Variante von dir
Code:
=TestFunktion("SELECT Count(AnlagenID) AS AnzahlvonAnlagenID FROM tab_BauAntragsunterlagenAnlagen WHERE ProjVorlID=" & [ProjVorlID])

Code:
Public Function TestFunktion(ByVal sSQL As String, Optional ByVal index As Variant = 0&) As Variant
    Dim db As Database
    Dim rst As DAO.Recordset
   
    Set db = CurrentDb
    Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbSeeChanges, dbReadOnly)
   
    With rst
        If .EOF Then
            TestFunktion = Null
        Else
            TestFunktion = .Fields(index)
        End If
    End With
   
    rst.Close
    Set rst = Nothing
    Set db = Nothing
End Function

Habe zwar nur ca. 20 Datensätze im Endlosformular darstellen lassen. Beide Varianten brauchen ca. 1 Sekunde zur Darstellung. Kann ich die Auswertung irgendwie beschleunigen?

Gruß
Christian
ebs17
Learning by Doing - Bastler


Verfasst am:
29. März 2010, 14:56
Rufname:
Wohnort: Reinsberg


AW: Sql-Abfrage als Steuerelementinhalt einer Textbox - AW: Sql-Abfrage als Steuerelementinhalt einer Textbox

Nach oben
       Version: Office 2003

- 20 Datensätze sind recht wenig für einen aussagekräftigen Vergleich.
- Messen (Hast Du gemessen oder geschätzt?) sollte man besser im Millisekundenbereich.

Mancher meint, bei geringen Datenmengen wäre die Domänenaggregatfunktion (die wegen ungünstiger Indexnutzung relativ langsam ist) schneller als die DAO-Ersatzfunktion. Das liegt aber an CurrentDb, was einer jeweiligen Neuinstanzierung der aktuellen DB entspricht. Dieser Anwenderfehler (nicht Systemfehler) wird in der originalen Funktion durch CurrentDbC beseitigt - wenn man mit dem Auto mehrere Wege unmittelbar hintereinander zu erledigen hat, fährt man zwischendurch auch nicht das Auto in die Garage, schließt diese ab und hängt den Schlüssel an den Schlüsselhaken, um dann die nächste Fahrt beginnen zu können.

CurrentDbC ist eine Methode von Michael Kaplan, veröffentlicht u.a. in Performance in VBA+Formularen von Josef Pötzl.

Bei allem sollte man nicht vergessen, dass "relativ langsam" sich im Bereich von Sekundenbruchteilen (Millisekunden und weniger) bewegt und bei einmaligen Aufrufen recht oft vernachlässigt werden kann. Jedoch können sich kleine Differenzen summieren, dann vor allem in Schleifen und Abfragen mit größeren Datenmengen.

Bedeutend größeres Potential für Performancegewinn oder -verlust liegt im Abfragedesign und der Nutzung von (hoffentlich vorhandenen Indizes).

Nachtrag (bezogen auf Endlosformular):
Zitat:
Kann ich die Auswertung irgendwie beschleunigen?
Im Normalfall würde man die Werte in einer Abfrage berechnen und die Formulartextfelder an die Abfragefelder binden.
_________________
Mit freundlichem Glück Auf!

Eberhard
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: sql-abfrage - ich komme nicht weiter 1 Peter Steiner 178 02. Feb 2011, 22:32
Peter Steiner sql-abfrage - ich komme nicht weiter
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage funktioniert nicht 2 obbiwahn. 283 25. Jan 2011, 15:41
obbiwahn SQL-Abfrage funktioniert nicht
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage wird nicht richtig ausgeführt 5 Abfrager 303 02. Dez 2010, 13:25
Abfrager SQL-Abfrage wird nicht richtig ausgeführt
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenstruktur über ODBC per SQL-Abfrage auslesen 2 Troll.Soft 2021 02. Apr 2010, 10:41
Gast Tabellenstruktur über ODBC per SQL-Abfrage auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage mit Like %|1|% geht nicht 8 kingkuehl 892 23. Okt 2009, 12:37
Gast SQL-Abfrage mit Like %|1|% geht nicht
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage ueber mehrere Tabellen 9 Gast 384 22. Okt 2009, 05:04
Willi Wipp SQL-Abfrage ueber mehrere Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Aktuelles datum in SQL-Abfrage einbauen 14 ExcelTüftler 21085 19. Okt 2009, 09:07
ExcelTüftler Aktuelles datum in SQL-Abfrage einbauen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage - Verständnissproblem 0 booster_2 298 24. Feb 2009, 14:59
booster_2 SQL-Abfrage - Verständnissproblem
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage in VBA macht Probleme 11 Necroion 597 19. Jan 2009, 10:10
Necroion SQL-Abfrage in VBA macht Probleme
Keine neuen Beiträge Access Tabellen & Abfragen: Textbox mit Tabelle abgleichen und Msg ausgeben 2 mactoni 378 05. Nov 2008, 09:49
mactoni Textbox mit Tabelle abgleichen und Msg ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage Zeichen aus Textfeld entnehmen 6 Dan0032 3122 13. Sep 2007, 10:16
Nouba SQL-Abfrage Zeichen aus Textfeld entnehmen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage auf aktuellen Datensatz beziehen 2 Neonblade13 1207 21. Jun 2007, 14:37
Neonblade13 SQL-Abfrage auf aktuellen Datensatz beziehen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project