vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: sevDatagrid - Berechnung während der Rowloaded Eigenschaft... 
Autor: Franki
Datum: 27.09.11 01:06

Hallo Andreas,

Zitat:


Aber wie mache ich das, wenn ich über eine entsprechende SQL
Abfrage ein Recorset erzeuge, wird diese im Normalfall in
einer Tabelle ausgegeben. Und dann könnte man z.B. über die
For Next Schleife jeden dieser Datensätze durchlaufen und
diesen mit der Updateanweisung aktualisieren.

Wäre dies auch nur mit der SQL Abfrage möglich ohne den Umweg
über ein Grid?

Mit dem Recorcount müsste das doch gehen, jeden der durch die
SQL Abfrage eingeschlossenen Datensätze zu aktualisieren?!
Oder?


Ja das geht ohne Anzeige in ein einem Grid. Du kannst ja ein Recordset Satz für Satz durchlaufen, deine Berechnung machen und den Satz wieder speichern. Z.B:

While Not RS.EOF
 
    Artikelpreis = CDbl(RS.Fields("VkPreis"))
    ' Jetzt deine Berechnung oder z.B. unterscheiden
    ' nach Warengruppe usw. usw. je nachdem
    ' was sich ändern soll
 
    RS.Fields("VkPreis") = Artikelpreis 'der geänderte
    RS.Update
 
    RS.MoveNext
Wend
RecordCount brauchst du nicht, geht aber auch. Diese Variante kannst du z.B. Nehmen um dem User eine Fortschrittsanzeigt zu präsentieren die vielleicht sinnvoll ist wenn du sehr viele Datensätze hast oder zeitaufwändige Berechnungen hast.

Zitat:


Sag mal, noch was anderes. Gibt es zufällig eine Möglichkeit
auch über zwei verschiedene Datenbanken - die DBs stammen aus
zwei verschiedenen Programmen, beides Access - ohne die
entsprechenden Tabellen in seine eigene DB zu importieren,
diese in einer SQL Abfrage zuvereinen?

Also nach dem Motto DB1.Connect - mit einer Art Join -
DB2.Connect und dann die SQL Abfrage über diese beiden
Datenbanken auszuführen?!


Ja auch das geht über diese Methode. Du brauchst halt zwei Connections. Du hast wieder ein Recordset (RS1 z.B.) in dem die relevanten Daten aus der ersten DB stehen. Beim Durchlauf wie oben hast du ja wieder zu jedem Datensatz die dazugehörigen Felder.

An der Stelle wo oben die Berechnung steht, kannst du genau diese Daten in die andere DB einfügen. Entweder per InsertInto oder falls du vorher prüfen möchtest, ob es den Datensatz in der anderen DB schon gibt, oder falls ja sich nur einige Felder unterscheiden auch mit einer SQL Afrage auf genau den Datensatz aus der ersten DB der grade dran ist. Ein Kriterium musst du allerdings haben, z.B. Artikelnummer.

SQL2 = "Select deineFelder from entsprechender Tabelle Where deine Bedingung" & _
  "aus DB1"
 
' Dann gibt es zwei Möglichkeiten
 
If RS2.EOF Then
    ' Artikel gibt es in DB2 nicht
    RS2.AddNew
    ' Dann die Daten aus RS1 von erster DB
    ' rein schreiben, bei Bedarf wieder mit
    ' Berechnungen vorher
    RS2.Update
Else
    ' Artikel gibt es schon
    ' Jetzt kannst du einzelne Felder auslesen
    ' vergleichen oder was auch immer
 
    RS2.Update    
End If
Der Vorteil das über Recordsets zu machen die durchlaufen werden ist halt der, dass man die Datensätze vorher analysieren kann und Fallunterscheidungen treffen kann und dann entscheidet was mit dem Datensatz passieren soll. Einfügen, ändern oder auch löschen bei Bedarf ist so in einem Durchlauf möglich.

Den Umweg über ein Grid ist aber dann sinnvoll wenn der User im Grid irgendwelche individuellen Änderungen an einzelnen Datensätzen machen kann. Wenn dem so ist, durchläufst du einfach Datensatz für Datensatz und kannst dann entscheiden was damit passieren soll.

Gruß
Frank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevDatagrid - Berechnung während der Rowloaded Eigenschaft.....1.664Callimero22.09.11 11:56
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.146wb-soft22.09.11 16:40
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.159ModeratorDieter23.09.11 00:17
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.112Callimero23.09.11 09:48
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.080Franki24.09.11 04:21
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.167Callimero24.09.11 11:05
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.157Franki25.09.11 01:57
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.083Callimero25.09.11 12:26
Re: sevDatagrid - Berechnung während der Rowloaded Eigenscha...1.095Franki27.09.11 01:06

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel