Office: (Office 2016) Variable definieren

Helfe beim Thema Variable definieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, ich benötige Hilfe bei der Definition einer Variablen. In meinem Formular befinden sich ein Registersteuerelement mit 10 Seiten. In jeder... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von JobCoach, 23. Mai 2020.

  1. Variable definieren


    Hallo Forum,

    ich benötige Hilfe bei der Definition einer Variablen.
    In meinem Formular befinden sich ein Registersteuerelement mit 10 Seiten. In jeder Seiet befindet sich ein Listenfeld. (Liste1 bis Liste10)
    Jetzt möchte ich auf einen Datensatz zugreifen und den Wert der 4 Spalte auslesen und in ein Textfeld übertragen. Das klappt soweit ich den Namen des Listenfeldes verwende.
    Da ich aber 10 Listenfelder bearbeiten möchte benötige ich diese Variable.

    Dim strListe As String

    strListe = "Liste" & Right(Liste1.Name, 1)

    Statt Liste1 soll hier der Name des aktiven Listenfeldes stehen. Wie spreche ich das aktive Listenfeld an? Wie bekomme ich die Ziffer 1 bis 10 hinter den Text Liste?

    Kann mir jemand unter die Arme greifen?

    Vielen Dank schon mal

    JobCoach

    :)
     
    JobCoach, 23. Mai 2020
    #1
  2. \@JobCoach
    Der sollte von
    Code:
    zurück gegeben werden.
    Du musst m.E. aber
    1. die Listen alle mit zweistelligem Suffix (01 usw.) versorgen. Bei einem
    Zeichen von rechts bekommst du Liste10 nicht zu fassen.
    2. den Teilstring auf 2 Zeichen erweitern

    gruss ekkehard
     
    Beaker s.a., 25. Mai 2020
    #2
  3. Hallo Ekkehard,

    vielen Dank für deine Tipps. Insbesondere den, die Erweiterung auf 2 Stellen. ich werde heute im Laufe des Abends testen und Rückmeldung geben.

    Danke schön

    JobCoach
     
    JobCoach, 25. Mai 2020
    #3
  4. Variable definieren

    Hallo Ekkehard,

    leider funktioniert es nicht so wie gewünscht. Der Code greift auf das übergeordnete Control, dem Registersteuerelement zu. Außerdem gibt die MsgBox

    ' Wenn keine Zeile ausgewählt wurde, ist der ListIndex -1

    If strListe.ListIndex = -1 Then
    MsgBox "Es wurde keine Zeile ausgewählt."
    End If

    oder

    If IsNull(strListe) Then
    MsgBox "Es wurde keine Zeile ausgewählt."
    End If

    einen Fehler aus.
    Kannst du bitte mal auf mein Formular und dem Code schauen.? Was ist falsch?

    Danke noch einmal

    JobCoach
     
    JobCoach, 25. Mai 2020
    #4
  5. Hallo JobCoach,

    warum machst du dir das Leben so schwer. *rolleyes.gif*

    Du brauchst doch bloß beim Laden des Formulars ein Array of Objects (Listboxes) mit den Referenzen auf die 10 Listboxes erstellen und dann kannst du diese direkt per Index ansprechen. Der Index der aktiven Listbox läßt sich direkt aus dem jeweils aktiven Seitenindex des Registersteuerelements ableiten. Dann bist du nicht mehr von irgendwelchen Formalismen bei der Namensvergabe der Listboxen, was sowieso keine gute Idee ist, abhängig und eine Stringverarbeitung für die Ermittlung der Objektnamen wird auch überflüssig.

    Gruß Ulrich
     
    knobbi38, 25. Mai 2020
    #5
  6. Hallo Ulrich,

    danke für deine Antwort. Aber leider sind meine Kenntnisse in dieser Richtung nicht sehr ausgeprägt, sodass ich deinen Hinweis nicht umsetzen kann.
    Ich habe versucht mit meinen Kenntnissen das halt wie beschrieben umzusetzen, wobei ich mir darüber im Klaren bin, dass meine Vorgehensweise die eines Anfängers ist.

    Vielleicht kannst du mir ja weiterhelfen.

    Gruß JobCoach
     
    JobCoach, 25. Mai 2020
    #6
  7. Die ganzen Nahrungsmittel gehören in eine einzige Tabelle und nicht in 10
     
    fredfred, 25. Mai 2020
    #7
  8. Variable definieren

    Hallo Fred,

    kannst du mir vielleicht einen generellen Tipp geben, wie ich hier vorgehen möchte.
    Ausgangslage ist die, dass aus einer Nährwerttabelle die Inhaltsstoffe immer pro 100 Gramm angegeben sind. Hier muss eine Umrechnung erfolgen, wie im Formular angedacht.
    Ich bin kein Profi und bin für Hinweise für die Umsetzung meines Problems dankbar.

    JobCoach
     
    JobCoach, 25. Mai 2020
    #8
  9. Ich verstehe das noch nicht.
    Wieso müssen die 10 Listenfelder "abgeklappert" werden ?
    Was ist der Sinn des ganzen, was passiert mit den Auswahlen in den LIsten ?
     
    fredfred, 25. Mai 2020
    #9
  10. Hallo JobCoach,

    das mit dem Array ist kein Problem, aber ich denke, du solltest erstmal, wie FredFred schon angedeutet hat, das Datenmodell etwas überarbeiten. Vielleicht erledigt sich das dann von selbst.

    Sollte das dann immer noch relevant sein, trigger das Thema nochmal an.

    Gruß Ulrich
     
    knobbi38, 25. Mai 2020
    #10
  11. Hallo Ekkehard, hallo Ulrich,

    wie gesagt aus einer Nährwerttabelle werden Daten ausgelesen. Diese Daten, Mineralstoffe Vitamine und ähnliches sind immer in Lebensmittel von 100 Gramm angegeben.
    Da aber zum Beispiel eine Scheib Brot keine 100 Gramm hat, oder eine Tasse Mehl, oder ein Esslöffel Zucker auch keine 100 Gramm hat, muss eine Umrechnung der Einheit erfolgen.
    Wenn ich ein Lebensmittel auslese werden die Mengen an Mineralstoffen, Vitaminen usw. durch 100 dividiert und mit den Werten aus den Listenfeldern und eventuellen Mengenangaben (3 Scheiben Brot) multipliziert und ich erhalte die Menge an Inhaltsstoffen die in den ausgewählten Lebensmitteln enthalten sind.
    Ich hoffe, dass das als Erklärung reicht. Oder?

    Für mich war es deshalb logisch, für jede Kategorie zumindest ansatzweise die Einheiten zu erstellen und diese dann mittels einer Variablen aus den Listenfeldern wieder auszulesen um damit dann einen Ernährungsplan zu erstellen.

    Gruß

    JobCoach
     
    JobCoach, 25. Mai 2020
    #11
  12. Hallo,
    Du brauchst eine Tabelle für die Lebensmittel, eine Tabelle für die Nährwerte und eine Tabelle für die Zuordnung des Nährwertes zum einem Lebensmittel als je ein Datensatz. In die 3. Tabelle kommt dann auch die Menge des Nährwertes je 100 Gramm.
    Und dann kannst Du problemlos in einer Abfrage die Nährwerte für beliebige Mengen der Lebensmittel errechnen.
    Dein jetziger Programmieraufwand wird dann ersatzlos überflüssig.

    Wo ist eigentlich in Deinem Upload die Nährwerttabelle ?
     
    gpswanderer, 25. Mai 2020
    #12
  13. Variable definieren

    Hallo gpswanderer,

    ich hatte lediglich das Formular für die Umrechnung hochgeladen.

    Gruß

    JobCoach
     
    JobCoach, 25. Mai 2020
    #13
  14. Hallo Forum,

    ich habe jetzt die alternativen Umrechnungseinheiten in eine Tabelle gepackt.
    Ich erhalte jetzt die gewünschte Angabe in meinem Textfeld, aber das Ganze ist jetzt eher unübersichtlich, weil viel Scrollen von Nöten ist.

    Wie kann man das verbessern?

    Gruß JobCoach
     
    JobCoach, 25. Mai 2020
    #14
  15. Die Vorgehensweise wäre gewesen, die Nahrungsmittel zwar in einer Tabelle zu führen, dazu aber auch eine Kategorie-Tabelle anzulegen, um die Zugehörigkeit zu diesen zu erhalten. Die Umrechnungsfaktoren sind sicherlich auch in eigener Tabelle zu führen.
    Es spricht nicht zwingend was dagegen ein Register aufgeteilt nach Kategorien (so wie es war) beizubehalten. Allerdings würde ich ein Endlosformular anstelle der Listen verweden. Per Ja/Nein Feld könnte man die Speisen auswählen, und so leicht per Abfrage auf die Tabelle die gewünschten Nährwerte errechnen. Anstelle des MS REgistersteuerelements würde ich dann aber ein "Pseudo"-Register bauen, was oben die Kategorien als Button darstellt, und lediglich ein Unterformular, was auf die gewünschte Kategorie gefiltert wird.
    Man könnte noch ein weiteres kleineres Formular einblenden, was auf die ausgewählten Speisen filtert und sie als Übersicht anzeigt.


    Man weiß halt nach wie vor nicht wie die Bedienung der DB funktioniert bzw. was sie leistet.
     
    fredfred, 25. Mai 2020
    #15
Thema:

Variable definieren

Die Seite wird geladen...
  1. Variable definieren - Similar Threads - Variable definieren

  2. Range-Bereich mit Variablen definieren

    in Microsoft Excel Hilfe
    Range-Bereich mit Variablen definieren: Hallo zusammen, ich habe folgendes Problem: Ich möchte gerne einen bestimmten Bereich per Range mit Variablen definieren. Aktuell sieht das ganze so aus: Code: Dim i as Integer Dim...
  3. Wo Public Variable definieren?

    in Microsoft Excel Hilfe
    Wo Public Variable definieren?: Hallo, Ich möchte ein kleines VBA-Programm in Excel ablaufen lassen, bei dem ich einige Variablen in mehreren User Forms benötige. Momentan nutze ich 5 Tabellenblätter und 6 User Forms, Tendenz...
  4. Diagramm Werte über Variable definieren

    in Microsoft Excel Hilfe
    Diagramm Werte über Variable definieren: Hallo zusammen, ich konnte schon häufig viele Lösungsvorschläge hier aus dem Forum in mein Makro ein- oder es gar umbauen. Aber nun bin ich mit meinem VBA-Latein am Ende. ich habe eine...
  5. vba variable definieren und wert zuweisen

    in Microsoft Excel Hilfe
    vba variable definieren und wert zuweisen: Hallo miteinander, ich habe gelesen das ich im VBA direkt beim erstellen einer Variablen auch einen Wert zuweisen kann. ich meine das war so. Code: Dim Firma As String = "Mustermann GmbH" Doch...
  6. Range definieren mit Variable

    in Microsoft Excel Hilfe
    Range definieren mit Variable: ich komme echt nicht weiter: Code: Dim Spalten1 As Range Dim colMW As Variant Set Spalten1 = Worksheets("MesswertMatrix").Range(Cells(1, colMW), Cells(250, colMW+1)) will einfach nicht...
  7. Aktive Zelle als Variable definieren

    in Microsoft Excel Hilfe
    Aktive Zelle als Variable definieren: Hallo ihr Lieben :) Folgendes: Ich möchte einen Bereich kopieren und der soll dann in der Zelle, wo sich der Cursor gerade befindet eingefügt werden. Dazu hier mein Makro: Sub test() Dim...
  8. maximale tabellenhöhe definieren bei variabler zeilenhöhe

    in Microsoft Word Hilfe
    maximale tabellenhöhe definieren bei variabler zeilenhöhe: Hallo, ich erstelle gerade eine Vorlage für meine Kollegen. Ich möchte in einem Word Dokument (Office XP) eine Tabelle einfügen, deren maximale höhe festgelegt ist, bei variabler Zeilenhöhe. Oder...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden