Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Code Verbesseren?

Begonnen von silentwolf, September 29, 2015, 10:01:12

⏪ vorheriges - nächstes ⏩

silentwolf

Hi ich hab hier nur mal einen Frage die mir vielleicht jemand erklären könnte.

Sub UpdateUmsatztext()
'Hier werden zu Beginn alle im Umsatztext Feld Bezeichnungen geändert!

    Dim rcsKonto As Recordset
   
    Dim db As Database
    Set db = CurrentDb
 
    Set rcsKonto = db.OpenRecordset("SELECT * FROM tbl_CSV_2014 WHERE Umsatztext LIKE 'Zurich Vers*'", dbOpenDynaset)
    Do Until rcsKonto.EOF
   
    rcsKonto.Edit
    rcsKonto.Fields("Umsatztext").Value = "Zürich Versicherung"
    rcsKonto.Update
   
        rcsKonto.MoveNext
    Loop
   
    Set rcsKonto = db.OpenRecordset("SELECT * FROM tbl_CSV_2014 WHERE Umsatztext LIKE 'Zürich Vers*'", dbOpenDynaset)
    Do Until rcsKonto.EOF
   
    rcsKonto.Edit
    rcsKonto.Fields("Umsatztext").Value = "Zürich Versicherung"
    rcsKonto.Update
   
        rcsKonto.MoveNext
    Loop
End Sub


Oben ist ein Code den ich mir zusammengeschustert habe ;) der ist aber noch länger und immer die selbe Art und Weise wie man oben sehen kann nur eben halt mit anderen Angaben.
Wie könnte man diesen Code denn besser schreiben? Der wird sonst ja relativ unübersichtlich.
Und wenn ich nach jeder Loop einen neue Prozedur schreibe dann hat man ja in Null Komma nix 30 Codes oder so.
Würde mich freuen wenn mir jemand das vielleicht kurz erklären könnte.

:) Lg
Danke schon im Voraus!!


el_gomero

Hallo,

hier bedarf es überhaupt keines Codes, sondern einer banalen Aktualisierungsabfrage, wenn es sich um mehrere Versicherer handelt dann mit einer Zuordnungstabelle in Referenz.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

silentwolf

Hallo Jürgen,

danke für Deine Nachricht!
Ich verstehe was Du meinst aber leider sind hier nicht nur Versicherer sondern verschiedene Daten in einer Spalte die ich per Code alle auf einmal aktualisieren möchte :(
Wie ich eben schon geschrieben habe ist das nur ein kleiner Teil des codes.. Aber denkst Du es wäre einfacher oder schneller mit verschiedenen Abfragen zu arbeiten?

Schöne Grüße
Albert

el_gomero

Hallo Albert,

Zitat
Aber denkst Du es wäre einfacher oder schneller mit verschiedenen Abfragen zu arbeiten?
Auf jeden Fall. Dein Code gibt ja nur 2 Beispiele. Dafür würde ich eine Zuordnungstabelle nehmen, die alle Schreibweisen für die Züricher enthält und in einem weiteren Feld die korrekte Bezeichnung. In einer Abfrage werden dann die Felder mit den zu korrigierenden Werten verknüpft und in einem Rutsch mit dem richtigen Wert aktualisiert. Die Hilfstabelle kannst ja mit gruppierten Werten aus der Ursprungstabelle füllen. Geht alles ratz-fatz.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

silentwolf

Hallo Jürgen,
ok danke für die Info! Ich werde mal schaun wie ich das hinbekomme :)
Ich versuche es mal hab das noch nie so probiert aber wird schon schiefgehen sonst muss ich halt nochmal nachfragen ;)

Danke!!
Schöne Grüße

Albert

silentwolf

So muss leider doch nochmal nachfragen...  :-[
Habe nun eine tbl_Zuordnung erstellt. Mit ID; Zuordnung dort befinden sich alle Schreibweisen und eine Bezeichnung dort sind die Korrekten Namen enthalten.
Nun muss ich nun diese beiden Tabellen verknüpfen also tbl_CSV wo alle Daten enthalten sind mit der tbl_Zuordnung.
tbl_CSV 1: und tbl_Zuordnung N..
Ma tut mir echt leid aber das hab ich noch nie gemacht grrr...

el_gomero

die Tbl_Zuordnung braucht die Felder (Inhalt sollte selbsterklärend sein

  • Bez_Quelle (Text)
  • Bez_richtig (Text)
Die Daten aus der Tabelle schreibst du da erst mal rein:

INSERT INTO Tbl_Zuordnung ( Bez_Quelle )
SELECT Umsatztext
FROM tbl_CSV_2014
GROUP BY Umsatztext;

das Feld Bez_richtig befüllst du manuell.

Bez_Quelle wird in der Abfrage auf Umsatztext verknüpft. Du ziehst dann aus tbl_CSV_2014 das Feld Umsatztext nach unten, stellst auf Aktualisierungsabfrage um und schreibst bei "Aktualisieren" =Tbl_Zuordnung.Bez_richtig. Dann Ausführen und fertig.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

silentwolf

Hi Jürgen!
Pff na das geht ja gut :)
Vielen vielen Dank Du warst mir jetzt eine riesen Hilfe!!!!
Hat mir sehr viel Zeit erspart!
Danke nochmal!

Albert