Script (exe) um mdb zu ändern
Hallo zusammen,
da ich hier immer wieder tolle Antworten gefunden habe, bin ich nun auch mal unter die Fragenden gegangen
Ich habe eine Access Datenbak welche durch ein Kassenprogramm "befüllt" wird.
Leider nicht überall so wie wir es brauchen. Deshalb hier die Frage:
Kann ich mit einem ausführbaren Script die mdb direkt "befüllen"?
In einer Tabelle stehen die EK Preise in einer Spalte, welche eben auch in einer anderen Spalte, multpliziert mit der Spalte MwSt, stehen sollen.
Das Programm kann das leider nicht erfüllen und über Excel ist es für die Endanwender zu umständlich.
Klar, kann ich in Access einen SQL Befehl dafür verwenden, aber die Enduser können das leider auch nicht.
Ich bräuchte also etwas nach dem Motto: drück diesen Knopf- fertig.
gibt es sowas ohne Große Programmier Kenntnisse?
btw wie würde der Sql befehl aussehen? ( die Spalten heißen : datenEK, datenMWST, datenVK2) :
update * from datenEK * datenMWST to datenVK2
Vielen Dank für eure Hilfe.
sonnige Grüße
Max
Leider nicht überall so wie wir es brauchen. Deshalb hier die Frage:
Kann ich mit einem ausführbaren Script die mdb direkt "befüllen"?
In einer Tabelle stehen die EK Preise in einer Spalte, welche eben auch in einer anderen Spalte, multpliziert mit der Spalte MwSt, stehen sollen.
Das Programm kann das leider nicht erfüllen und über Excel ist es für die Endanwender zu umständlich.
Klar, kann ich in Access einen SQL Befehl dafür verwenden, aber die Enduser können das leider auch nicht.
Ich bräuchte also etwas nach dem Motto: drück diesen Knopf- fertig.
gibt es sowas ohne Große Programmier Kenntnisse?
btw wie würde der Sql befehl aussehen? ( die Spalten heißen : datenEK, datenMWST, datenVK2) :
update * from datenEK * datenMWST to datenVK2
Vielen Dank für eure Hilfe.
sonnige Grüße
Max
Please also mark the comments that contributed to the solution of the article
Content-Key: 164185
Url: https://administrator.de/contentid/164185
Printed on: April 26, 2024 at 19:04 o'clock
12 Comments
Latest comment
Moin Maxx64,
willkommen im Forum.
Spontan würde ich sagen, deine Frage ist falsch gestellt.
Was du beschreibst, ist eine Datenredundanz, die - wenn sie denn im Datenmodell aus welchen Gründen auch immer- geduldet werden soll, bitteschön auch da als Sonderlocke behandelt werden muss.
Sprich: Wenn ihr HEUTE eine Rechnung über 100.- PetroDollar schreibt und HEUTE ist der MwSt-Satz meinetwegen 20% und ihr schreibt HEUTE zusätzlich zum Nettopreis und dem heute gültigen MwStSatz auch noch das errechnete Feld BruttoPreis in dieselbe Tabelle...
--> Dann müsst ihr das nicht nachträglich von außen füllen, sonden zeitgleich bei der Erfassung der Nettowerte.
Oder aber ihr haltet es in mehreren Tabellen: eine mit nur Netto-Preisen und dem Datum und eine mit gültigen MwStSätzen Von-Bis
und "berechnet" den Bruttopreis nur beim Anzeigen/Drucken und speichert ihn nicht.
Grüße
Biber
P.S. Und ja: nachträglich Rechnungsdaten über eine *.exe manipulieren geht auch bei Access.
Ist aber äh-bäh-> tut man einfach nicht.
willkommen im Forum.
Spontan würde ich sagen, deine Frage ist falsch gestellt.
Was du beschreibst, ist eine Datenredundanz, die - wenn sie denn im Datenmodell aus welchen Gründen auch immer- geduldet werden soll, bitteschön auch da als Sonderlocke behandelt werden muss.
Sprich: Wenn ihr HEUTE eine Rechnung über 100.- PetroDollar schreibt und HEUTE ist der MwSt-Satz meinetwegen 20% und ihr schreibt HEUTE zusätzlich zum Nettopreis und dem heute gültigen MwStSatz auch noch das errechnete Feld BruttoPreis in dieselbe Tabelle...
--> Dann müsst ihr das nicht nachträglich von außen füllen, sonden zeitgleich bei der Erfassung der Nettowerte.
Oder aber ihr haltet es in mehreren Tabellen: eine mit nur Netto-Preisen und dem Datum und eine mit gültigen MwStSätzen Von-Bis
und "berechnet" den Bruttopreis nur beim Anzeigen/Drucken und speichert ihn nicht.
Grüße
Biber
P.S. Und ja: nachträglich Rechnungsdaten über eine *.exe manipulieren geht auch bei Access.
Ist aber äh-bäh-> tut man einfach nicht.
moin und willkommen,
ich glaub ich hab da was falsch verstanden..
da hasste türlich auch wieder links....
@Biber kannst du bitte meinen Kommentar ins große runde eckige befördern - meine Paybackkarte ist ja schon voll
Gruß
ich glaub ich hab da was falsch verstanden..
"Wem gehört der Fahrrad da draussen?"
"Ich !"
"Ich !"
da hasste türlich auch wieder links....
@Biber kannst du bitte meinen Kommentar ins große runde eckige befördern - meine Paybackkarte ist ja schon voll
Gruß
Moin T-Mo,
eigentlich wollte ich mal ein, zwei Stündchen zurückhaltend moderieren und nicht ungefragt meine wahre Meinung durchschimmern lassen.
Aber eh du den TO auf irgendwelche schmalen Bretter lenkst, auf denen er eventuell in produktiven Systemen vor sich hinirrlichtert....
Noch mal "meine" Zusammenfassung.
Dieses SQL entspricht in etwa dem oft in Grundschulen in sozialen Brennpunkten gehörten Dialog:
Und damit soll ihm ihn ein Autoexec-Makro zusammenbraten??
No way - und die andere Begründung siehe oben.
Grüße
Biber
eigentlich wollte ich mal ein, zwei Stündchen zurückhaltend moderieren und nicht ungefragt meine wahre Meinung durchschimmern lassen.
Aber eh du den TO auf irgendwelche schmalen Bretter lenkst, auf denen er eventuell in produktiven Systemen vor sich hinirrlichtert....
Noch mal "meine" Zusammenfassung.
- es gibt eine Access-"Datenbank"
- die befüllt/gepflegt wird durch eine Black-Box-Applikation namens "Kassenmodul"
- die eigentlich nur die erfassten Rechnungsdaten vollständig im Sinne der Folgeprozesse speichern soll, aber nicht einmal das auf die Reihe bekommt
- nun sollen an der geschlossenen Appz vorbei die Rechnungsdaten manipuliert werden
- die SQL-Kenntnisse des TO reichen für den Vorschlag "update * from datenEK * datenMWST to datenVK2"
Dieses SQL entspricht in etwa dem oft in Grundschulen in sozialen Brennpunkten gehörten Dialog:
"Wem gehört der Fahrrad da draussen?"
"Ich !"
"Ich !"
Und damit soll ihm ihn ein Autoexec-Makro zusammenbraten??
No way - und die andere Begründung siehe oben.
Grüße
Biber
Moin Maxx,
ja, vielleicht gibt es jemanden, für den deine Frage einfach zu lösen ist.
Bitte lies noch mal meinen ersten Kommentar (nicht den zweiten, der war an T-Mo gerichtet).
ich habe dich NICHT falsch verstanden.
Du schreibst:
Ich schrieb:
Warum schreibt denn nicht das "Kassenmodul" die redundanten Werte zeitgleich in dieselbe Tabelle?.
Sicherlich, weil die "Kassenmodul"-Entwickler euch auch gesagt haben "Hey, das ist unnötig. Das wäre eine redundante Information."
Ein errechnetes und immer wieder errechenbares Feld braucht doch nicht abgespeichert werden.
Grüße
Biber
ja, vielleicht gibt es jemanden, für den deine Frage einfach zu lösen ist.
Bitte lies noch mal meinen ersten Kommentar (nicht den zweiten, der war an T-Mo gerichtet).
ich habe dich NICHT falsch verstanden.
Du schreibst:
Also nochmal: ich habe eine DB die ( wie auch immer) gefüllt wird. Dort steht in einer Spalte ein Preis (EK) welcher netto ist
und jetzt will ich eine Automatik die mir diesen Preis in eine andere Spalte der Tabelle schreibt incl der gültigen Mwst
( welche in einer anderen Spalte steht) und dazu eben eine exe, damit meine Mitarbeiter keine Accesskenntnisse benötigen.
und jetzt will ich eine Automatik die mir diesen Preis in eine andere Spalte der Tabelle schreibt incl der gültigen Mwst
( welche in einer anderen Spalte steht) und dazu eben eine exe, damit meine Mitarbeiter keine Accesskenntnisse benötigen.
Ich schrieb:
Sprich: Wenn ihr HEUTE eine Rechnung über 100.- PetroDollar schreibt und HEUTE ist der MwSt-Satz meinetwegen 20%
und ihr schreibt HEUTE zusätzlich zum Nettopreis und dem heute gültigen MwStSatz auch noch das errechnete Feld BruttoPreis
in dieselbe Tabelle...
--> Dann müsst ihr das nicht nachträglich von außen füllen, sonden zeitgleich bei der Erfassung der Nettowerte.
und ihr schreibt HEUTE zusätzlich zum Nettopreis und dem heute gültigen MwStSatz auch noch das errechnete Feld BruttoPreis
in dieselbe Tabelle...
--> Dann müsst ihr das nicht nachträglich von außen füllen, sonden zeitgleich bei der Erfassung der Nettowerte.
Warum schreibt denn nicht das "Kassenmodul" die redundanten Werte zeitgleich in dieselbe Tabelle?.
Sicherlich, weil die "Kassenmodul"-Entwickler euch auch gesagt haben "Hey, das ist unnötig. Das wäre eine redundante Information."
Ein errechnetes und immer wieder errechenbares Feld braucht doch nicht abgespeichert werden.
Grüße
Biber
Moin Maxx64,
angenommen, ich blende mal kurz alle meine prozesstechnischen Bedenken aus und tue so, als müsste es sein wegen einer Wette oder so...
Dann bleiben dennoch zwei (ja, auch diesmal ernst und nicht sarkastisch gemeinte) Fragen:
a) Wenn diese Kauf-Software "Kassenmodul" diese MDB-Datei befüllt und pflegt - ist denn wenigstens diese Lösung in "Daten"-MDB (Backend) und Eingabe/pflege-Masken auf den Clients (FrontEnd) getrennt?
--> Wenn ja, wenn die Daten in einer reinen "Daten"-Datei liegen und Seiteneffekte kalkulierbar sind.....hmmja ....wäre es denkbar.
b) ist es denn unbedingt nötig, dass der Brutto-Preis PHYSISCH in der gleichen Tabelle steht wie der NettoPreis und der MWSt-Satz?
Wäre nicht eine Dazu-Berechnen in einer Tabellenkopie (plus berechnetem Feld) denkbar, so dass die Black-Box "Kassenmodul unverändert bleibt.
Denn was macht ihr, wenn die mal eine neue Version "Kassenmodul" draufspielen mit geänderter DB-Struktur oder verschlüsselten Daten oder wenn die euch einfach den Support canceln, weil ihr in den Originaltabellen rumwuselt.
Zerstreue einfach meine Bedenken..
P.S habt ihr denn überhaupt ein Access, um auf die Daten direkt zuzugreifen oder ist das eine Runtime und nur das Format ist *.MDB?
Grüße
Biber
angenommen, ich blende mal kurz alle meine prozesstechnischen Bedenken aus und tue so, als müsste es sein wegen einer Wette oder so...
Dann bleiben dennoch zwei (ja, auch diesmal ernst und nicht sarkastisch gemeinte) Fragen:
a) Wenn diese Kauf-Software "Kassenmodul" diese MDB-Datei befüllt und pflegt - ist denn wenigstens diese Lösung in "Daten"-MDB (Backend) und Eingabe/pflege-Masken auf den Clients (FrontEnd) getrennt?
--> Wenn ja, wenn die Daten in einer reinen "Daten"-Datei liegen und Seiteneffekte kalkulierbar sind.....hmmja ....wäre es denkbar.
b) ist es denn unbedingt nötig, dass der Brutto-Preis PHYSISCH in der gleichen Tabelle steht wie der NettoPreis und der MWSt-Satz?
Wäre nicht eine Dazu-Berechnen in einer Tabellenkopie (plus berechnetem Feld) denkbar, so dass die Black-Box "Kassenmodul unverändert bleibt.
Denn was macht ihr, wenn die mal eine neue Version "Kassenmodul" draufspielen mit geänderter DB-Struktur oder verschlüsselten Daten oder wenn die euch einfach den Support canceln, weil ihr in den Originaltabellen rumwuselt.
Zerstreue einfach meine Bedenken..
P.S habt ihr denn überhaupt ein Access, um auf die Daten direkt zuzugreifen oder ist das eine Runtime und nur das Format ist *.MDB?
Grüße
Biber
moin,
Ich denke eher, wir denken anders als du und deine unkomplizierte Herangehensweise harmoniert nicht auf Anhieb mit unserer einfach gestrickten Art.
Ich drösel mal deine eigenen Zeilen auf....
Datensatz 1i in Netto "knopfklick" alles wird umgerechnet und ist Brutto - nächster Knopfklick und aus dem Brutto wird Brutto + Märchensteuer.
Gruß
Ich denke eher, wir denken anders als du und deine unkomplizierte Herangehensweise harmoniert nicht auf Anhieb mit unserer einfach gestrickten Art.
Ich drösel mal deine eigenen Zeilen auf....
Klar, kann ich in Access einen SQL Befehl dafür verwenden, aber die Enduser können das leider auch nicht.
btw wie würde der Sql befehl aussehen? ( die Spalten heißen : datenEK, datenMWST, datenVK2) :
btw wie würde der Sql befehl aussehen? ( die Spalten heißen : datenEK, datenMWST, datenVK2) :
- hier ist die Frage "kannst" du - oder "könntest" du?
- Fall 1 - du kennst doch das notwendige - ok Accessspezifisch leicht danebenes SQL Statement?
- Fall 2 - eben da weißt du mehr - als wir.
Ich bräuchte also etwas nach dem Motto: drück diesen Knopf- fertig.
gibt es sowas ohne Große Programmier Kenntnisse?
gibt es sowas ohne Große Programmier Kenntnisse?
- In Access jein - als exe nein
Dem Programm ist List&Label angehängt, welches Programmspezifisch nur bedingt Zugriffe auf die erforderlichen Tabellen zuläßt.
- welches L&L oder die Db läßt die nur zu?
- wie ist die Schnittstelle zwischen den beiden definiert?
- Und wirklich der gut gemeinte Rat auch von mir -der sowas früher ganz gerne blauäugig gemacht hat (denk nur mal dran, wenn eine Änderung der Märchensteuer kommt - dann mußt du das EMDÄBehchen abdäten)
Geht? Geht nicht?
Ich habe leider keine Source Code für die Software.
- Wie Biber schon vermutet hat - wenn es denn so ist - wie du schreibst - ist das eher nix....
- Irgendeine .exe die irgendwo eine mdb drin hat und innerhalb der exe wird L&L angesprochen - das würde ich so nicht machen.....
Datensatz 1i in Netto "knopfklick" alles wird umgerechnet und ist Brutto - nächster Knopfklick und aus dem Brutto wird Brutto + Märchensteuer.
Grüße
Max
Max
Gruß
Ich habe die Access Datei, ich hab das Passwort für die Datei. Es ist eine Einzelplatzversion. Ich habe leider keine Source
Code für die Software. Update gibt es nur wenn ich es zulasse. Es gibt kein "die". Ich habe das Progi gekauft
Lizensiert und verwende es. Ich will es nicht verkaufen oder sonstwas damit machen. Ich will keine Rechnungen ändern oder
sonstwie be###en.
Code für die Software. Update gibt es nur wenn ich es zulasse. Es gibt kein "die". Ich habe das Progi gekauft
Lizensiert und verwende es. Ich will es nicht verkaufen oder sonstwas damit machen. Ich will keine Rechnungen ändern oder
sonstwie be###en.
Hallo Max,
ich denke, es geht bei Änderungen der Tabelle nicht darum, dass Du gegen Lizenzen verstößt, sondern das der Hersteller nicht mehr in der Haftung ist. Angenommen, bei einer Betriebsprüfung kommt raus, dass die Abrechnungen fehlerhaft sind (bei 5 Mio. Jahresumsatz kann da was zusammenkommen), dann werdet Ihr sagen "dass hat die Kassensoftware der Firma XYZ so berechnet", also wendet ihr Euch an den Hersteller mit einem Haftungsschaden. Der wird dann der Sache nachgehen und feststellen, dass in "seiner" Tabelle plötzlich eine Spalte "Brutto" ist und eine Fremdsoftware darin Berechnungen durchführt. Dann wird er sagen "so nicht Spezifiziert und Freigegeben" und sich entspannt zurücklehnen.
Zu Deiner eigentlichen Frage, wenn Deine Berichtssoftware keine zweite Tabelle ansteuern kann (dahin würde ich die per VBA berechneten Werte auslagern), weiß ich keine vernünftige Lösung für Dein Problem.
Grüße perseues
[Edit]P.S: Das Ändern der Datentabelle kann durchaus auch Auswirkungen auf die Kassensoftware haben, wenn die Programmierer dort Sachen wie
Select * FROM
Moin perseues,
du hast aus meiner Sicht vollommen recht mit deinen Argumenten.
Wenn ein ungenutztes Feld Fax-Nummer für List&Labels verfügbar wäre, dann würde er das nehmen.
Nee, ich klink mich aus.
Ich würde entweder dem List&Labels ein zusätzliches (berechnetes) Feld bereitstellen als "originalTabelle.Vk*OriginalTabelle.MwSt" oder als Quelle einen View/eine Abfrage auf die Originaltabelle nehmen.
Jegliches andere Ansinnen ist mir zu abgedreht. Nachher lesen hier Jung-Adminen und Admins mit.
Die bekommen dann einen etwas schrägen Eindruck von unserer Arbeitsweise.
Grüße und viel Glück.
Biber
du hast aus meiner Sicht vollommen recht mit deinen Argumenten.
Zitat von @perseues:
[Edit]P.S: Das Ändern der Datentabelle kann durchaus auch Auswirkungen auf die Kassensoftware haben, wenn die Programmierer
dort Sachen wie
verwendet haben. Dann fällt das Programm nämlich auf die Nase, wenn da mehr wie erwartet kommt.oin
Hier ist es ja noch schlimmer. Er will in das vorhandene, aber nicht genutzte Feld "VK2" einfach den VK-Brutto (VK*MwST) reinschreiben.[Edit]P.S: Das Ändern der Datentabelle kann durchaus auch Auswirkungen auf die Kassensoftware haben, wenn die Programmierer
dort Sachen wie
> Select * FROM
>
Wenn ein ungenutztes Feld Fax-Nummer für List&Labels verfügbar wäre, dann würde er das nehmen.
Nee, ich klink mich aus.
Ich würde entweder dem List&Labels ein zusätzliches (berechnetes) Feld bereitstellen als "originalTabelle.Vk*OriginalTabelle.MwSt" oder als Quelle einen View/eine Abfrage auf die Originaltabelle nehmen.
Jegliches andere Ansinnen ist mir zu abgedreht. Nachher lesen hier Jung-Adminen und Admins mit.
Die bekommen dann einen etwas schrägen Eindruck von unserer Arbeitsweise.
Grüße und viel Glück.
Biber
Hier ist es ja noch schlimmer. Er will in das vorhandene, aber nicht genutzte Feld "VK2" einfach den
VK-Brutto (VK*MwST) reinschreiben.
Wenn ein ungenutztes Feld Fax-Nummer für List&Labels verfügbar wäre, dann würde er das nehmen.
Oh, dann habe ich das wohl falsch verstanden. Dachte er will die Tabelle erweitern.VK-Brutto (VK*MwST) reinschreiben.
Wenn ein ungenutztes Feld Fax-Nummer für List&Labels verfügbar wäre, dann würde er das nehmen.
Nee, ich klink mich aus.
Ich würde entweder dem List&Labels ein zusätzliches (berechnetes) Feld bereitstellen als
"originalTabelle.Vk*OriginalTabelle.MwSt" oder als Quelle einen View/eine Abfrage auf die Originaltabelle nehmen.
Jegliches andere Ansinnen ist mir zu abgedreht.
das ist auch das einzig machbareIch würde entweder dem List&Labels ein zusätzliches (berechnetes) Feld bereitstellen als
"originalTabelle.Vk*OriginalTabelle.MwSt" oder als Quelle einen View/eine Abfrage auf die Originaltabelle nehmen.
Jegliches andere Ansinnen ist mir zu abgedreht.
Grüße und viel Glück.
Biber
dito,Biber
perseues