Thema Datum  Von Nutzer Rating
Antwort
03.05.2017 10:06:23 Yasin
NotSolved
Blau Programmiercodes lesen Access VBA
03.05.2017 13:01:53 Gast74279
*****
NotSolved
03.05.2017 13:14:57 Gast74279
NotSolved
03.05.2017 13:56:35 Gast23359
NotSolved
03.05.2017 13:57:52 Yasin Güngör
NotSolved

Ansicht des Beitrags:
Von:
Gast74279
Datum:
03.05.2017 13:01:53
Views:
644
Rating: Antwort:
  Ja
Thema:
Programmiercodes lesen Access VBA

Hier

k = Len(txta)

 

ReDim abc(1 To k) As String

 

For i = 1 To k

    abc(i) = Mid(txta, i, 1)

Next i

wird die Eingabe in einzelne Zeichen zerlegt und in ein Array (Datenfeld) zwischengespeichert.

 

Der Teil

 For i = 1 To k

    For j = 1 To k - 1

            If abc(j + 1) < abc(j) Then

                h = abc(j)

                abc(j) = abc(j + 1)

                abc(j + 1) = h

            End If

    Next j

Next i

ist als BubbleSort bekannt, also ein Sortieralgorithmus (den ihr, wenn der hier dran kommt, sicher mal im Unterricht/Vorlesung hattet).

 

Hier

s = ""

 

For i = 1 To k

    s = s + abc(i)

Next i

 

txtb = s

wird anschließend der Inhalt des nun sortierte Arrays, zeichnweise aneinander hängend, in die Variable 's' geschrieben und dann in txtb ausgegeben.

-> Zum Beispiel wird aus der Eingabe 967 demnach 679.

 

Wie der Algo. die Zeichen im BubbleSort sortiert, wird durch

Option Compare Database

in der ersten Zeile festgelegt (diese werden also bei deutscher GebietsID nach deutschen Regeln sortiert, Groß-/Kleinschreibung wird nicht beachtet).

 

Ziemlich am Anfang siehst du ein

On Error GoTo sp

und am Ende ein

 

sp:

txtb = "abc"

 

Das bewirkt das wann immer irgendwo in dem Makro nach de On Error Goto - Anweisung ein Fehler auftritt, springt das Makro zu dem Punkt 'sp'. Dies ist z.b. der Fall, wenn die Eingabe leer bleibt. Dann wird nämlich versucht bei

k = Len(txta)

ReDim abc(1 To k) As String

ein Array mit der Dimension 1 nach 0 erzeugen und das ist nicht gültig (bei Punkt e würde also 'abc' in txtb stehen).

 

Hoffe das hat dir geholfen.

 

Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
03.05.2017 10:06:23 Yasin
NotSolved
Blau Programmiercodes lesen Access VBA
03.05.2017 13:01:53 Gast74279
*****
NotSolved
03.05.2017 13:14:57 Gast74279
NotSolved
03.05.2017 13:56:35 Gast23359
NotSolved
03.05.2017 13:57:52 Yasin Güngör
NotSolved