TKSoft-Online

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Alles rund um MS-Access
  • Seite:
  • 1

THEMA: Listenfeld

Listenfeld 2 Jahre, 9 Monate her #591

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,
Ich kann in meiner Datenbank Retourwaren eingeben, die dann in verschiedene Läger weitergeroutet werden.

Ich habe daher in dem Formular \"frmRETOURE_ANZEIGEN\" das Feld \"Für Übergabe Markieren\" eingebaut.
Ist dieses Feld angekreuzt, dann ist diese Retoure für die Übergabe an eine Spedition bereit. Da kommen schon einige Retouren in einer Woche zusammen.

Nun stelle ich mir folgendes Scenario vor.

1) Alle angekreuzten Datensätze (Retouren) sollen in einem Listenfeld angezeigt werden. Nun soll man die gewünschten Datensätze (Retouren) die man übergeben möchte, markieren können.

2) Mit einem Button soll dann der Übergabelieferschein mit einer fortlaufenden Nummer, und mit den einzelnen Datensätzen aufgelistet, gedruckt werden.

3) Weiters soll der Bericht in einer Tabelle abgespeichert werden.

4) Es soll die Möglichkeit geschaffen werden, diese Berichte einmal nach drucken zu können.

Hast du vielleicht eine Idee, wie ich das ganze am besten in meine Datenbank einbauen könnte?
LG

Re:Listenfeld 2 Jahre, 9 Monate her #592

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

mal ganz allgemein:

zu 1.
Die Datenherkunft des Listenfeldes dürfte ja sicher kein Problem darstellen
Einfach ein Abfrage erstellen und als Datenherkunft setzen.
Die Übergabe der markierten DS ist auch kein Problem indem die Du das Listenfeld
durchläufst und die markierten DS nimmst.
Diese schreibst Du dann in eine Tabelle
z.B.:
    For Each i In Me!lst_Fach.ItemsSelected
'mach was
Next i


zu 2.
Diese DS aus der neuen Tabelle nimmst Du dann als Datenherkunft für Deinen Übergabelieferschein.
Die Lfd-Nr ist kein Problem da Du in Berichten die Eigenschaft \"Laufende Summe\" hast.
Du erstellst ein ungebundenes Textfeld.
Bei Steuerelementinhalt schreibst Du \"=0+1\" rein.
Lauftende Summe stellst Du auf \"Über alles\"
Fertig

Zu 3.
Haben wir schon bei 1. gemacht

zu 4.
Hier musst Du ein Feld in der zusätzlichen Tabelle einfügen wo der Druck gezählt wird.
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #595

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,

zu 1.
Die Datenherkunft ist keine Problem.

Kann man das eigentlich anders lösen, das ich die Daten nicht in eine neue Tabelle einfügen muss. Ich meine, die Daten sind ja schon in verschiedenen Tabellen die Beziehungen zueinander haben, gespeichert worden.

Wie du vielleicht noch weisst, ist das Feld RWSID die Bezugsnummer in meiner Datenbank.

zu 2.
Ich habe bei anderen Berichten auch immer eine Lieferschein Nr. als Bezugsnummer. Diese erstellt sich immer aus der fortlaufende RWSID, die in der Tabelle \"tblRWS\" ja vorhanden ist.
Kann man das irgenwie so verbinden, das die Datensätze die für die Übergabe bestimmt sind, mit einer neuen RWSID Nr. verlinkt werden?

Hast du vielleicht eine Demo Datenbank, wo so ein Beispiel vielleicht behandelt wird?

LG
Puffi

Re:Listenfeld 2 Jahre, 9 Monate her #597

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo puffi,

kannst Du mir Deine aktuelle DB mailen?
Dann schau ich mal was man machen kann.
Wird aber bestimmt erst nächste Woche da unser Enkel
dieses Wochenende Schuleingang hat.
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #605

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

habe mir das Ganze mal angeschaut.

Habe noch 3 Rückfragen:
1) Alle angekreuzten Datensätze (Retouren) sollen in einem Listenfeld angezeigt werden. Nun soll man die gewünschten Datensätze (Retouren) die man übergeben möchte, markieren können.

Welche Felder sollen im Listenfeld angezeigt werden?

2) Mit einem Button soll dann der Übergabelieferschein mit einer fortlaufenden Nummer, und mit den einzelnen Datensätzen aufgelistet, gedruckt werden.


Was soll Alles in dem Übergabelieferschein erscheinen?

3) Weiters soll der Bericht in einer Tabelle abgespeichert werden.

Das verstehe ich nicht ganz. Kannst Du das bitte genauer erklären?
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #607

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,
Zu 1) Welche Felder sollen im Listenfeld angezeigt werden?

Ich bräuchte die Felder, [RWSID], [Retour Lieferschein Nr], [Kunde], [PLZ], [Ort]

Zu 2) Was soll Alles in dem Übergabelieferschein erscheinen?

Wie der [BERICHT LIEFERSCHEIN] in der Datenbank. Nur das Unterformular sollte die Felder, [Retour Lieferschein Nr], [Produkt], [Menge] beinhalten.

Zu 3) Wir müssen manchmal alte Übergabelieferscheine nochmals nachsenden. Da hätte ich gerne ein Listenfeld, wo ich alle bereits gedruckten Übergabe Lieferscheine sehe, und ich die benötigen einfach markiere, und nachdrucken kann.

LG
Puffi

Re:Listenfeld 2 Jahre, 9 Monate her #611

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

OK, dann schaue ich mal was ich morgen hinbekomme.
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #615

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

habe versucht mal alles in Deine DB zu bringen.
Die Dateien kommen per Mail hier jetzt nur die Beschreibung.

1. Neue und geänderte Objekte
Tabellen im BE:
In \"tblRWS\" neues Feld \"Flag_LS\"
Neue Tabelle \"tbl_LS_Print\"

Abfragen:
Neu \"abfRETOURE_SourceListview\"
Neu \"abfRETOURE_SourceSubReport\"

Module
Neu \"mod_Allgemein\"

Berichte
Neu \"rpt_SubRetoureLS\"

Formulare
Neu \"frm_Retoure_LS

2. Funktionsweise



Im Form \"frm_Retoure_LS\" befindet sich das Listenfeld mit den DS
Jetzt kannst Du dort Deine DS auswählen und drucken.
Achtung:
Der Bericht \"rpt_SubRetoureLS\" ist nur ein Muster, das musst Du selber anpassen.
Nach dem Druck werden die gewählten Werte in der neuen Tabelle \"\"tbl_LS_Print\" gespeichert.
Alle gespeicherten Lieferscheine können im Kombifeld ausgewählt werden.
Nach der Auswahl werden die DS im Listenfeld markiert.
Wurde der Schein bisher nur einmal gedruckt kann er noch ein 2. Mal gedruckt werden
danach ist Schluss.
Am besten Du schaust das Dir erstmal alles an.

Mail mit DB folgt.
Anhang:
Gruß TommyK
Letzte Änderung: 2 Jahre, 9 Monate her von TommyK.

Re:Listenfeld 2 Jahre, 9 Monate her #616

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,
vielen Dank einmal für deine Mühe, werde mir deine Arbeit gleich morgen anschauen.
Feedback folgt!

Eine Frage hätte ich noch zu deiner Aussage.

\"Wurde der Schein bisher nur einmal gedruckt kann er noch ein 2. Mal gedruckt werden
danach ist Schluss.\"

Warum kann man den Schein nicht beliebig oft nachdrucken?
LG
Puffi

Re:Listenfeld 2 Jahre, 9 Monate her #617

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

4) Es soll die Möglichkeit geschaffen werden, diese Berichte einmal nach drucken zu können.

Das habe ich so verstanden.
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #626

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,
alles klar, dann habe ich mich wohl falsch ausgedrückt.
Ich meinte mit,
\"Es soll die Möglichkeit geschaffen werden, diese Berichte einmal nach drucken zu können\", nicht die Anzahl, sondern das man einmal in Zukunft die benötigten Scheine wieder nachdrucken kann. Wie oft sollte nicht beschränkt sein.
Kann ich diese Einstellung selber ändern?
LG
Puffi

Re:Listenfeld 2 Jahre, 9 Monate her #627

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

im Form \"frm_Retouren_LS\" folgende Code ändern (ersetzen):
Private Sub cbo_OldLS_AfterUpdate()
Dim i As Integer, j As Integer, k As Integer
Dim sValue As String
 
bFlag = True
Me.lst_LS.Locked = True
For k = 0 To Me.lst_LS.ListCount
Me.lst_LS.Selected(k) = False
Next k
If Not IsNull(Me.cbo_OldLS) Then
Me.cmd_PrintLS.Enabled = True
Else
Me.cmd_PrintLS.Enabled = False
End If
 
i = GetArg(Me.cbo_OldLS.Column(4), 0, \";\"«»)
k = 0
For j = 1 To i
sValue = GetArg(Me.cbo_OldLS.Column(4), j, \";\"«»)
For k = 0 To Me.lst_LS.ListCount
If Me.lst_LS.Column(0, k) = sValue Then
Me.lst_LS.Selected(k) = True
Next k
Next j
End Sub
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #628

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,
Es funktioniert! Vielen Dank.
Ein bisschen Feinschliff Hilfe bräuchte ich aber noch.
Sobald der Übergabelieferschein gedruckt wurde, sollte von den jeweiligen Datensätzen (RWSID) das Feld [Übergabe Lieferschein gedruckt] auf \"JA\" geändert werden.

In der Abfrage für das Listenfeld kommen diese Datensätze dann nicht mehr vor.
(es sollen ja nur die ungedruckten Datensätze aufgelistet werden, für die gedruckten, gibt es ja bereits das andere Auswahlfeld)

Wie aber muss der Code lauten, damit das passiert?

LG
Puffi

Re:Listenfeld 2 Jahre, 9 Monate her #629

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Puffi,

Deine DB folgt wieder auf dem EMail Weg.
Im BE neues Feld in Tabell2 \"tbl_LS_Print\" hinzugekommen \"LS_ZielRWSID\"
Folgende Änderungen im FE:
alle Punke 1-8 abgearbeitet.
Schau es Dir mal an.
Gruß TommyK

Re:Listenfeld 2 Jahre, 9 Monate her #630

  • Puffi
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 9
  • Karma: 0
Hallo Tommy,
Sobald ich zuhause bin, kann ich es mir anschauen.
Melde mich dann.
LG
  • Seite:
  • 1
Moderatoren: TommyK
Ladezeit der Seite: 2.39 Sekunden

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173444 Downloads

JoomlaWatch 1.2.11 - Joomla Monitor and Live Stats by Matej Koval