Softpicks.Net  Deutsch Foren-Übersicht Softpicks.Net Deutsch
Software Forum Deutsch
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Abfrage
Gehe zu Seite Zurück  1, 2, 3, 4, 5
 
Neues Thema eröffnen   Neue Antwort erstellen    Softpicks.Net Deutsch Foren-Übersicht -> Microsoft Access
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht




Anmeldedatum: 01.01.1970
Beiträge: 312655

BeitragVerfasst am: So Dez 17, 2006 11:50 pm    Titel: Abfrage Antworten mit Zitat



Hallo, Astrid,

Astrid Rabens:

> Ich danke dir/euch für die hilfe

:-) gerne

> und wünsche eine Gute Nacht.

- Dir auch!

Gruss - Mark
.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Karl Donaubauer



Anmeldedatum: 01.01.1970
Beiträge: 4616

BeitragVerfasst am: Mi Mai 09, 2007 11:32 am    Titel: Abfrage Antworten mit Zitat



Mario Krsnic wrote:
> ich füge die Sätze aus einer Tabelle in eine andere. Dabei möchte ich
> nicht, dass die Sätze angefügt werden, wenn sie schon
> in der ersten Tabelle vorhanden sind. Dafür prüfe ich lfd_nr
> (KlientenNr) des Berichts, Datum (enthält Datum und Zeit) und
> Autorenname und verwende diese Abfrage.
>
> INSERT INTO berichte
> SELECT *
> FROM berichte2
> WHERE not berichte2.lfd_nr in
> (select berichte2.lfd_nr from berichte inner join berichte2
> on berichte.lfd_nr=berichte2.lfd_nr where
> berichte.datum=berichte2.datum and berichte.autor=berichte2.autor)
>
> Die Abfrage funktioniert gut, nur in der Tabelle mit 70000 Sätze ist
> die relativ langsam. Könnte mir jemand eine schnellere Lösung
> vorschlagen? ...

Test mal das:

INSERT INTO berichte
SELECT berichte2.*
FROM berichte2 LEFT JOIN berichte ON
berichte2.lfd_nr = berichte.lfd_nr AND
berichte2.datum = berichte.datum AND
berichte2.autor = berichte.autor
WHERE berichte.lfd_nr Is Null

--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com


.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden




Anmeldedatum: 01.01.1970
Beiträge: 312655

BeitragVerfasst am: Mi Mai 09, 2007 11:35 am    Titel: Abfrage Antworten mit Zitat



Hallo,

Mario Krsnic wrote:

> ich füge die Sätze aus einer Tabelle in eine andere. Dabei möchte ich nicht,
> dass die Sätze angefügt werden, wenn sie schon
> in der ersten Tabelle vorhanden sind. Dafür prüfe ich lfd_nr (KlientenNr)
> des Berichts, Datum (enthält Datum und Zeit) und Autorenname und verwende
> diese Abfrage.
>
> INSERT INTO berichte
> SELECT *
> FROM berichte2
> WHERE not berichte2.lfd_nr in
> (select berichte2.lfd_nr from berichte inner join berichte2
> on berichte.lfd_nr=berichte2.lfd_nr where berichte.datum=berichte2.datum
> and berichte.autor=berichte2.autor)
>
> Die Abfrage funktioniert gut, nur in der Tabelle mit 70000 Sätze ist die
> relativ langsam. Könnte mir jemand eine schnellere Lösung vorschlagen?

Was verstehst du unter relativ langsam?

Probier mal so:

INSERT INTO berichte
SELECT *
FROM berichte2 AS T1
WHERE NOT EXISTS
(SELECT T2.lfd_nr FROM berichte AS T2
WHERE T2.lfd_nr = T1.lfd_nr
AND T2.Datum = T1.Datum
AND T2.Autor = T1.Autor )

Die Felder lfd_nr, datum und autor muessen in beiden Tabellen indiziert
sein.

Gruss - Peter

--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mario Krsnic



Anmeldedatum: 01.01.1970
Beiträge: 38

BeitragVerfasst am: Mi Mai 09, 2007 1:56 pm    Titel: Abfrage Antworten mit Zitat



Hallo Karl!
> Test mal das:
>
> INSERT INTO berichte
> SELECT berichte2.*
> FROM berichte2 LEFT JOIN berichte ON
> berichte2.lfd_nr = berichte.lfd_nr AND
> berichte2.datum = berichte.datum AND
> berichte2.autor = berichte.autor
> WHERE berichte.lfd_nr Is Null

Vielen Dank! Das ist super schnell und super gut!
Gruss
Mario


.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Zimmermann



Anmeldedatum: 01.01.1970
Beiträge: 2944

BeitragVerfasst am: Di Dez 04, 2007 1:28 am    Titel: Abfrage Antworten mit Zitat



Hallo!

Hermann:
> kann man in einer Abfrage die Datensätze durchnummerieren?

Ja.

> Eine Abfrage liefert das folgende Ergebnis
> A
> A
> B
> B
> B
>
> Ich benötige jedoch ein Ergebnis welches so aussieht
>
> A 1 ...
> A 2 ...
> B 1 ...
> B 2 ...
> B 3 ...
>
> Die zusammenghörenden Datensätze einer Gruppe sollen
> automatisch durchnummeriert werden.
>
> Geht das ?

Jain. Wenn man genau Deinem Beispiel folgt, ist Dein
Begehren völlig unsinnig: Da A und A ununterscheidbar
sind, kann man sie auch nicht sinnvoll numerieren.

Falls etwas in der Art dahintersteckt, daß sich aus einem
eindeutigen Feld, das eine Sortierung erlaubt, aber nicht
angezeigt wird, eine Reihenfolge ergibt, dann geht das
durchaus. Du kannst Dir das folgende generische Beispiel
anpassen:

SELECT
H.idFeld,
H.fiGruppierfeld,
H.Sortierfeld,
H.Wert,
(
SELECT
Count(*)
FROM
Tabelle As S
WHERE
S.fiGruppierfeld = H.fiGruppierfeld
AND
S.Sortierfeld<=H.Sortierfeld
) AS LfdNr
FROM
Tabelle AS H
ORDER BY
H.fiGruppierfeld,
H.Sortierfeld

Gruß aus Mainz
Michael

.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Zimmermann



Anmeldedatum: 01.01.1970
Beiträge: 2944

BeitragVerfasst am: Mo Dez 10, 2007 12:29 pm    Titel: Abfrage Antworten mit Zitat



Hallo!

Hermann:
> Danke,
> eh klar, wie richtig vermutet gibts da im Hintergrund
> noch mehr Daten.

Es ist im Eigeninteresse des Fragenden erheblich sinnvoller,
genau das Problem zu schildern, das er hat, und es nicht
durch irgendein vermeintlich gleichstrukturiertes Problem
zu ersetzen.

Wenn ich beim Metzger wissen will, was das Rinderfilet
kostet, frage ich "Was kostet das Rinderfilet" und nicht
"Was würden die Koteletts kosten, wenn sie aus dem
Filetstück geschnitten wären und Schweine Hörner hätten
und Milch gäben?"

Gruß aus Mainz
Michael

.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Zimmermann



Anmeldedatum: 01.01.1970
Beiträge: 2944

BeitragVerfasst am: Di Dez 11, 2007 12:47 am    Titel: Abfrage Antworten mit Zitat



Hallo!

Hermann:
> Konkret sieht die Sache so aus:
> Es werden Rechenbeispiele in einer Datenbank verwaltet.
> Jedes Beispiel enthält u.a. ein oder mehrere Deskriptoren
> und noch Zusatzinformationen wie z.B. Lösungsdauer etc..
> Die Deskriptoren werden in einer Tabelle verwaltet und
> sie sind eindeutig, sie können aber mehrmals in
> verschiedenen Beispielen vorkommen.
>
> z.B. Beispiel 1 enthält Deskriptor 1, 2 und 5,
> Lösungsdauer L1 Beispiel 2 enthält Deskriptor 1 und
> 4, Lösungsdauer L2 u.s.w.
> Frage ich nun die Metadaten eines Beispiels ab, also
> welches Beispiel, welche Deskriptoren enthält, ergibt
> sich folgendes Ergebnis (Beispiel = B, Deskriptor = D, L
> = Lösungsdauer)
> B1 D1 L1
> B1 D2 L1
> B1 D5 L1
> B2 D1 L2
> B2 D4 L2
>
> Das Problem besteht nun darin, die Informationen für ein
> Beispiel mit Serienbrief in einem Worddokument
> darzustellen. Problem deshalb, weil die Anzahl der
> Deskriptoren je Beispiel unterschiedlich ist (1 -10) und
> ich ein und dasselbe Serienhauptdokument für alle
> Beispiele verwenden möchte. Hier soll jedoch der Name des
> Beispiels nur 1x dargestellt werden, (ebenso wie andere
> Informationen die vom Prinzip her gleich sind wie z.B.
> Lösungsdauer, Hilfsmittel ...), jedoch alle Deskriptoren.
> Im Textfluss stellt sich das Ganze vereinfacht so dar:
> "Beispiel B1 enthält die Deskriptoren D1, D2, D5 und hat
> eine Lösungsdauer von L1". Bezogen auf die Abfrage kommt
> B1 aus dem ersten Datensatz, L1 jedoch aus dem 3. Nach D1
> und D2 steht im Dokument jeweils "Nächster Datensatz",
> nicht jedoch nach D5 da sonst L1 nicht angezeigt würde.

Könnte man das so abstrahieren, daß Du eine Art 1:n-Problem
beim Seriendruck hast?

Sprich, Du möchtest je Hauptdatensatz einen SD-Abschnitt,
aber innerhalb dessen eine beliebige und innerhalb eines
SD auch variable Anzahl an Detaildatensätzen unterbringen?

Dein Problem wäre dann, daß Word bei jedem DS eine neue
Seite beginnt, statt Details derselben Mutter auf einer
Seite zusammenzuhalten?

Falls das so ist, brauchst Du keine DS-Nummern. Das geht
einfacher.

> Um zum Vergleich mit dem Metzger zu kommen, stellt sich
> die Sache höchstens so dar, dass ich die Aufgabe habe
> eine dicke schwarze Kuh durch ein Tor zu bringen, ich
> jedoch die Frage gestellt habe, wie ich eine "allgemeine"
> Kuh durch ein Tor bringe Wink
>
> Gruß aus Österreich

Ich dachte, in Östereich hätte es eher Grauvieh und
Braunvieh? Allerdings beantwortet die generische Lösung
ganz allgemein die Frage, wie man etwas durch etwas bringt.
;-)

Gruß aus Mainz
Michael

.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Zimmermann



Anmeldedatum: 01.01.1970
Beiträge: 2944

BeitragVerfasst am: Di Dez 11, 2007 2:32 pm    Titel: Abfrage Antworten mit Zitat



Hallo!

Hermann:
> Du hast recht, das 1:n Problem ist tatsächlich mein
> eigentliches Problem.

Siehst Du, Du hättest gleich fragen sollen, wie man eine
dicke, schwarze Kuh durch ein Tor bringt. ;-)

> Wobei ich nicht nach jedem
> Datensatz eine neue Seite eröffne, sondern mehrere
> Datensätze je Seite. Entsprechend der Anzahl der
> Deskriptoren. Erst dann wird eine neue Seite begonnen.

Das klingt, als bräuchtest Du eigentlich keinen Seriendruck,
sondern Du benutzt den nur, um Deine Daten nach Word zu
bekommen?

> Das Problem ist, dass ich beim Serienbrief nicht erkennen
> kann, wieviele Datensätze auf einer Seite darzustellen
> sind.
>
> Wenn du eine einfachere Lösung für das Problem hast, wäre
> ich dir sehr dankbar.
> Ich fürchte nämlich, dass meine ursprüngliche Idee,
> Vergleich der Rekordnummer mit der maximalen Anzahl
> ohnehin nicht klappt.

Joo.

Lies mal das hier:

www.donkarl.com/AEK/AEKDownloads/AEK9_Automation.zip

Auf das angesprochene Problem wird ab Seite 28 eingegangen.

Wenn Du keine Seitenwechsel bei Hauptdatensätzen brauchst,
verwende
wdMerge.MainDocumentType = wdFormLetters
statt
wdMerge.MainDocumentType = wdCatalog

Allerdings soltest Du die Ausgabe dann auch ohne SD mit
simpler Automation machen können.

In der beigefügten DB findest Du auch fertigen Code, den
Du Dir anpassen kannst.

Gruß aus Mainz
Michael

.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Zimmermann



Anmeldedatum: 01.01.1970
Beiträge: 2944

BeitragVerfasst am: Di Dez 11, 2007 2:35 pm    Titel: Abfrage Antworten mit Zitat



Hallo!

Michael Zimmermann:
> Wenn Du keine Seitenwechsel bei Hauptdatensätzen brauchst,
> verwende
> wdMerge.MainDocumentType = wdFormLetters
> statt
> wdMerge.MainDocumentType = wdCatalog

Andersrum:
Wenn Du keine Seitenwechsel bei Hauptdatensätzen brauchst,
verwende
wdMerge.MainDocumentType = wdCatalog
statt
wdMerge.MainDocumentType = wdFormLetters

Gruß aus Mainz
Michael

.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden




Anmeldedatum: 01.01.1970
Beiträge: 312655

BeitragVerfasst am: Mo Apr 14, 2008 2:25 pm    Titel: Abfrage Antworten mit Zitat



Hallo Christian,

>
> Gibt es eine andere M=F6glichkeit, dass ich mehr wie neun Eintr=E4ge
> einf=FChgen kann?
>
Ja, gibt es:


WHERE (([Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Baumesse" OR [Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Baumesse-2") AND [T_ProdukteBezeichnung]![Code]
Like "*AL")
OR (([Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Carfar"
OR [Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Carfar-2")
AND [T_ProdukteBezeichnung]![Code] Like "*BA")
OR (([Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Baumag"
OR [Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Baumag-2")
AND [T_ProdukteBezeichnung]![Code] Like "*CA")
OR (([Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Forstmesse" OR [Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Forstmesse-2") AND [T_ProdukteBezeichnung]!
[Code] Like "*FO")
OR (([Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Waffenb=F6rse" OR [Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Waffenb=F6rse-2") AND [T_ProdukteBezeichnung]!
[Code] Like "*WA")
OR (([Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Bauen
+Wohnen-Aargau" OR [Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Bauen+Wohnen-Aargau-2") AND
[T_ProdukteBezeichnung]![Code] Like "*BW")
OR (([Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Antikb=F6rse" OR [Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Antikb=F6rse-2") AND [T_ProdukteBezeichnung]!
[Code] Like "*AN")
OR (([Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Light
+Sound" OR [Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Light
+Sound-2") AND [T_ProdukteBezeichnung]![Code] Like "*LS")
OR (([Formulare]![UF_MessenProdukte]![ID_Messebezeichnung]=3D"Bauen
+Wohnen-Luzern" OR [Formulare]![UF_MessenProdukte]!
[ID_Messebezeichnung]=3D"Bauen+Wohnen-Luzern-2") AND
[T_ProdukteBezeichnung]![Code] Like "*LU")

Gru=DF Thomas

--
http://www.thomas-kuehn.de
.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden




Anmeldedatum: 01.01.1970
Beiträge: 312655

BeitragVerfasst am: So Mai 18, 2008 2:14 am    Titel: Abfrage Antworten mit Zitat



Hallo zusammen

> Gibt es eine andere M=F6glichkeit, dass ich mehr wie neun Eintr=E4ge
> einf=FChgen kann?

Besten Dank f=FCr eure Hilfe, ich war l=E4ngere Zeit weg, daher kann ich
erst jetzt antworten.

Ich habe den Tip von Thomas umgesetzt, da wir relativ selten eine neue
Messe dazu nehmen.

Der Tip von Andr=E9 sieht vielversprechend aus, wenn ich mehr Zeit habe
werde ich dies auch ausprobieren.

Nochmals besten Dank

Gruss Chrigi
.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Softpicks.Net Deutsch Foren-Übersicht -> Microsoft Access Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3, 4, 5
Seite 5 von 5

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht 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 teilnehmen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de