Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Microsoft Microsoft Office

Datensatz nach Anzahl vervielfältigen

Mitglied: lsckronach

lsckronach (Level 1) - Jetzt verbinden

25.07.2012 um 14:47 Uhr, 2975 Aufrufe, 5 Kommentare

Hallo zus.,
ich habe folgende Rohdaten (Eingang) zu einer Bestellung. Diese müssen wenn die Anzahl des Datensatzes (z.B. 5 Stück) sind,
ausgelesen und einzeln in eine andere Datei (Lagerbuchung) geschrieben werden. Wie kann dies am einfachsten gelöst werden ? Die Datenstruktur ist immer gleich. Wenn diese Daten einzeln (Menge 1 Stück) zur Verfügung stehen werden Etiketten über einen Drucker erzeugt. Diesen Druckjob wollte ich über eine kleine Abfrage mit MS Access lösen. Die Abfrage greift schon, ich scheitere nur an der vervielfältigung der Datensätze.


Rohdaten (Eingang):

97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000010;70905001;580;Bezeichnung; 1,000;ST;HRL;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000020;90456976;190;Bezeichnung; 1,000;ST;3/12/10/06;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 5,000;ST;3/21/11/04;20120723

Zieldatei (Lagerbuchung):

97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000010;70905001;580;Bezeichnung; 1,000;ST;HRL;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000020;90456976;190;Bezeichnung; 1,000;ST;3/12/10/06;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;1/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;2/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;3/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;4/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;5/5


Vielen Dank für eure Unterstützung

Gruß Dirk
Mitglied: NetWolf
25.07.2012 um 16:00 Uhr
Moin Moin,

ich gehe davon aus, dass die Informationen in Felder geschrieben werden. D.h. meine Annahme: Rohdaten ist eine Tabelle.

Baue in VBA ein Schleife, die die Rohdaten durchgeht.
Wenn dann bei Anzahl ein 5 steht sind folgende Schritte notwendig:

1- Anzahl merken
2- Datensatz ändern: Anzahl = 1 / Teilvon = 1/5
3- Datensatz kopieren
4- Schleife bis Anzahl-1 erreicht wird
4- kopierten Datensatz als neuen einfügen
5- neuen Datensatz ändern: Teilvon = 2/5
usw.
6- Ende Schleife bis Anzahl erreicht wird

Grüße aus Rostock
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: lsckronach
26.07.2012 um 07:29 Uhr
Moing Wolfgang,

diesen gedanken habe ich auch schon gefasst.

Ich habe ein Problem mit der Schleife wie der Code aussehen soll ?

In der Tab. Komm_tmp befinden sich die Rohdaten und sollen nach der Schleife
in die tblVerarbeitung eigefügt werden. Im Feld FMenge ist die Anzahl (Stück).
In der Tabelle "Faktura" (97806850) befindet sich der Datensatz welcher gedruckt bzw. geprüft werden soll.
Es sollen alle Felder nach der Prüfung aus der Tab. "Komm_tmp" in die "tblVerarbeitung" (einzeln) eingefügt werden.

Private Sub Befehl21_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim lngCounter As Long
Dim strSQL As String

Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM Komm_tmp")
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF
If Nz(rs.Fields("Fmenge"), "") <> "" Then

*da is der Wurm drin**

For lngCounter = 1 To FMenge

strSQL = "INSERT INTO tblVerarbeitung (Faktura)" _
& " values (Me!Faktura.Text)"

db.Execute strSQL, 128 'dbFailOnError ', 128 'dbFailOnError hinzugefuegt

Next lngCounter
Else
MsgBox "Fehler in Datensatz, keine Datensätze vorhanden"
End If
'Wenn die Sollkopienzahl in die neue Tabelle geschrieben wurde,
'weiter mit dem nächsten rs der Herkunftstabelle... und loop
rs.MoveNext
Loop
End If
Bitte warten ..
Mitglied: NetWolf
27.07.2012 um 20:50 Uhr
Hi,

du solltest auch 2 Tabellen/Abfragen öffnen, wenn du beide bearbeiten willst. Oder wenn du eine ID hast, kann man das auch per SQL lösen.

Also poste hier mal bitte die Struktur beider Tabellen mit Feldnamen und Feldtypen.

Grüße aus München
Wolfgang
(Networlf)
Bitte warten ..
Mitglied: lsckronach
31.07.2012 um 13:42 Uhr
Hallo Wolfgang,

es sind 3 Tabellen welche ich eingerichtet habe.

Tabelle "Faktura" (Textfelder)
Faktura / Datum

Tabelle "Import" (alles Textfelder, Menge als Integer)
Faktura / Name / Strasse / Land / PLZ / Ort / Kunde /Pos / Bezeichnung / Menge / Stellplatz /

97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000010;70905001;580;Bezeichnung; 1,000;ST;HRL;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000020;90456976;190;Bezeichnung; 1,000;ST;3/12/10/06;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 5,000;ST;3/21/11/04;20120723


Tabelle "Lager" (alles Textfelder, Menge als Integer)
Faktura / Name / Strasse / Land / PLZ / Ort / Kunde /Pos / Bezeichnung / Menge / Stellplatz /

97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000010;70905001;580;Bezeichnung; 1,000;ST;HRL;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000020;90456976;190;Bezeichnung; 1,000;ST;3/12/10/06;20120723
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;1/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;2/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;3/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;4/5
97806850;Name;;Strasse;Land;PLZ;Ort;000030001;000000030;34018;440;Bezeichnung; 1,000;ST;3/21/11/04;20120723;5/5

In der Tabelle "Fakura" befindet sich 1 Datensatz welcher aus der Tabelle "Import" vervielfältigt werden muss und in dieser Beziehung in der Tabelle "Lager" abgelegt werden. Wenn die Anzahl z.B. 5 Stück ist, so muss die 1/5 -5/5 mit ausgegeben werden.

Wenn Du mir die emailadresse gibts, kann ich Dir auch die Tabelle zusenden

Gruß Dirk
Bitte warten ..
Mitglied: lsckronach
10.08.2012 um 07:44 Uhr
Hallo Wolfgang,

bin schon etwas weiter, jetzt wird aber nur die erste bzw. aktuelle Zeile vervielfältigt.
Mit welchen Befehl wir die schleife mit allen Feldern durchsucht ?


Private Sub Befehl15_Click()

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Komm_Import_tmp")
For i = 1 To Me![Menge]
' With rst
With CurrentDb().OpenRecordset("tblVerarbeitung", dbOpenDynaset, dbAppendOnly)

.AddNew
!Faktura = Me![Faktura]
!Name1 = Me![Name1]
!Pos = Me![Pos]
!Mat = Me![Mat]
!Code = Me![Code]
!MatBez = Me![MatBez]
!Menge = 1
'...
.Update
.Close
End With
Next i

End Sub
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Textdatei splitten in Anzahl Datensätze aus Originaldatei
gelöst Frage von lexuraBatch & Shell7 Kommentare

Guten Tag an die Profis, ich stehe vor einem Problem mit einer .txt Datei. Wir erstellen eine .txt datei ...

Datenbanken
MySQL - Anzahl der Datensätze in Abfrage verringern
Frage von mabue88Datenbanken4 Kommentare

Hallo, ich habe ein System, in dem dessen Benutzer diverse Aktionen ausführen können. Die von den Benutzern ausgelösten Aktionen ...

Datenbanken
MySQL Function Anzahl Datensätze ermitteln
gelöst Frage von MultiStormDatenbanken4 Kommentare

Hallo, aktuell stehe ich vor einem Problem bei dem ich nicht weiter komme. ich wollte mit eine MySQL funtion ...

Microsoft Office
Automatisch entscheiden ob prozentual oder fest anzahl von Datensätze
gelöst Frage von hugothemagpieMicrosoft Office7 Kommentare

Mein Problem ich habe ein access-datenbank der einen menge and datensätze hat, je nach abfrage will ich dass es ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...