Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Linie mit Skala versehen

Begonnen von Gockel67, Juni 13, 2026, 12:39:01

⏪ vorheriges - nächstes ⏩

Gockel67

Moin Gemeinde,

ich möchte eine Linie auf einem Formular mit einer Skala in 50er Schritten bis zu einem bestimmten Wert (Anzahl der Datensätze) versehen.
Egal was ich die KI bis jetzt gefragt habe - es kam nichts gscheites dabei rau. Wahrscheinlich frage ich auch falsch.
Was ich bisher herausgefunden habe ist dass das nicht in der Formularansicht sonder nur im Entwurfsmodus geht.

Hat jemand von euch eine Lösung dazu?

Wenn noch Fragen sind einfach nachfragen.

Wünsche allen ein schönes Wochenende
Jörg

Debus

Hallo Jörg,

habe Dir mal was vorbereitet. Die nicht benötigten Labels Skalastriche etc werden automatisch ausgeblendet.
Es geht auch in der Formularansicht.
Schaue es Dir einfach mal an

Wenn Du Skalierungsschritte anpassen willst musst Du das hier ändern:

lngSteps = lngMax \ 10
.Caption = CStr(i * 10)

Man natürlich dann auch noch einbauen wenn max Daten > x dann Schritte 10 oder wenn noch größer dann Schritte x.

Holger

Debus

Habe es noch angepasst damit die Skala Einteilung sich anpasst.

bis 50 DS = 5 er Schritte
50 - 100 = 10 er Schritte
> 100 dann 25 er Schritte

Angepasst wurde das Form_Load und ZeichneSkala

Gruß
Holger



Hondo

Hallo Holger,
mir gefällt deine Lösung sehr gut - vorallem da sie sehr schlank realisierbar ist mit relativ wenig Code.

Gruß Andi

Gockel67

Hallo Holger,

ersteinmal danke für die Mühe die du dir immer mit dir machst.
Ich versuche gerade mich in dein Beispiel einzuarbeiten.
So ganz verstehe ich das aber nicht bzw. vielleicht hab ich auch einen Denkfehler.

In deinem Beispiel geht die Skala bis 100. Dann markierst du die 107. Das stimmt doch dann nicht.
Die Skala müsste doch bis 107 gehen und dann könnte man z.B. die 100 markieren. Aber nicht umgekehrt.
Klär mich bitte mal auf  :-[

Wünsche allen einen schönen Sonntag
Jörg

Debus

Hallo Jörg, da hast Du recht und ich habe nicht aufgepasst. 

Ersetze mal den Form_Load Teil durch diesen, dann wird es passen. Den Skala Max Wert lege ich jetzt immer einen Skala Strich weiter :=)

Private Sub Form_Load()
    Dim lngAnzahl As Long
    Dim lngMax As Long
    Dim lngSchritt As Long

    lngAnzahl = DCount("*", "tblDaten")


    lngMax = ((lngAnzahl + 24) \ 25) * 25

    If lngMax <= 0 Then lngMax = 25

    If lngMax > 100 Then
        lngSchritt = 25
    ElseIf lngMax > 50 Then
        lngSchritt = 10
    Else
        lngSchritt = 5
    End If

    ZeichneSkala lngMax, lngSchritt
    SetzeMarker lngAnzahl, lngMax
End Sub



@andi Ja ich wollte es auch so halten, ist halt nur blöd die ganzen Labels und Striche vorher zu zeichnen. Aber die Paint  Draw Methode ist in Access in Formularen nicht so einfach. Hätte man mit einem Unterbericht machen können, wird aber alles komplizierter.

Gruß
Holger

Knobbi38


Debus

Hallo Ulli,

ich meine das Paint Ereignis, welches du beim Drucken von Berichten nutzen kannst.

Sorry falsch ausgedrückt

Holger