AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Access] Mittels VBA Daten aus der DB holen
Thema durchsuchen
Ansicht
Themen-Optionen

[Access] Mittels VBA Daten aus der DB holen

Ein Thema von Meflin · begonnen am 17. Jul 2007 · letzter Beitrag vom 17. Jul 2007
Antwort Antwort
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

[Access] Mittels VBA Daten aus der DB holen

  Alt 17. Jul 2007, 15:46
Moin moin!

Leider leider leider muss ich im Moment mit VBA rumfrickeln Aber da ich weiß dass das einige hier können, stelle ich die Frage trotzdem mal in einer Delphi-Community

Vielleicht erinnert sich ja noch der eine oder andere an dieses etwas größere Formular, mit dem ich so meine Probleme hatte. Für jedes der Felder brauche ich jetzt noch mal drei...

Und zwar will ich bei jedem angezeigten Eingabefeld auf dem Formular im ControlTipText (auf Delphideutsch: Hint) den Durchschnitts-, Minimal- und Maximalwert der Daten dieses Feldes in der Datenbank anzeigen.

Das sind aber zu viele Records als die 255 die ein Access Formular im Recordset verkraftet. Daher müsste ich einfach bei jedem Feld eine einfache SQL-Abfrage machen und den Wert dann eben eintragen.

Trotz langer suche (vielleicht suche ich einfach nur das falsche) konnte ich allerdings keinerlei Beispielquelltext finden, wie man mit VBA eine Abfrage durchführt und auf Werte daraus zugreift.

Ich wäre also sehr glücklich, wenn mir da mal jemand ein kleines Beispiel schreiben könnte



[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
17. Jul 2007, 15:49
Dieses Thema wurde von "SirThornberry" von "Windows 9x / ME / 2000 / XP / 2003 / Vista" nach "Programmieren allgemein" verschoben.
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: [Access] Mittels VBA Daten aus der DB holen

  Alt 17. Jul 2007, 16:45
... und eine Stunde später hatte er sich doch selber was zusammengefrickelt

Verbesserungsvorschläge weiterhin willkommen

Code:
Public Function GetHint(Table As String, Field As String) As String
Dim strSQL As String
Dim db As Database
Dim rs As Recordset


    strSQL = "SELECT Avg([" & Table & "].[" & Field & "]) AS AvgValue, Min([" & Table & "].[" & Field & "]) AS MinValue, Max([" & Table & "].[" & Field & "]) AS MaxValue FROM [" & Table & "];"
   
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
   
    rs.MoveFirst
   
    strAvgValue = Round(rs.Fields![AvgValue], 2)
    strMaxValue = Round(rs.Fields![MaxValue], 2)
    strMinValue = Round(rs.Fields![MinValue], 2)
   
    GetHint = "Durchschnitt: " & strAvgValue & vbCrLf & "Min: " & strMinValue & vbCrLf & "Max: " & strMaxValue
   
End Function
@SirThornberry: sorry für die Arbeit, war grad ziemlich fertig mit den Nerven

  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: [Access] Mittels VBA Daten aus der DB holen

  Alt 17. Jul 2007, 16:50
Schon mal überlegt was passiert wenn die DB etwas größer wird und das Ergebnis nicht in 1 ms geliefert wird? Dann darf der Anwender ganz schön warten. Besser wäre es den Hint bei bedarf zu laden. Aber ob Access sowas vorsieht?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: [Access] Mittels VBA Daten aus der DB holen

  Alt 17. Jul 2007, 16:53
Zitat von Bernhard Geyer:
Schon mal überlegt was passiert wenn die DB etwas größer wird und das Ergebnis nicht in 1 ms geliefert wird? Dann darf der Anwender ganz schön warten. Besser wäre es den Hint bei bedarf zu laden. Aber ob Access sowas vorsieht?
Ich könnte den Hint beim daraufzeigen erst erstellen. Falls das geht, müsste ich ausporbieren. Aber wann ich das da aufrufe geht doch aus der Funktion garnicht hervor

Die Funktion gibt ja nur die drei Werte im gewünschten Hint-Format zu einem beliebigen Feld zurück. Dafür wäre natürlich ein Cache optimal, aber das ist mir zu overkilled.

  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: [Access] Mittels VBA Daten aus der DB holen

  Alt 17. Jul 2007, 17:00
Zitat von Meflin:
Aber wann ich das da aufrufe geht doch aus der Funktion garnicht hervor
Ich habe lang genug mit Acces gearbeitet um noch grob zu wissen was da geht und nicht. und bin froh mit Delphi zu arbeiten
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

Re: [Access] Mittels VBA Daten aus der DB holen

  Alt 17. Jul 2007, 17:01
Nach einem Blick auf #3 kann ich das sehr gut nachvollziehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz