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

Datensatz nach Anzahl vervielfältigen

Mitglied: lsckronach

lsckronach (Level 1) - Jetzt verbinden

25.07.2012 um 14:47 Uhr, 2987 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
Datenbanken

SQL: Anzahl von Datensätzen bei JOIN

Frage von BirdyBDatenbanken2 Kommentare

Hallo zusammen, ich stehe gerade etwas auf dem Schlauch und hoffe auf eure Hilfe. Gegeben sind in unserer SQL ...

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
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 4 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 4 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 4 StundenHardware8 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 5 StundenMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL14 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...