Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Standartwert in externer Datenbank entfernen

Begonnen von Kitech, April 06, 2011, 11:25:45

⏪ vorheriges - nächstes ⏩

Kitech

Hallo zusammen

mittels Makro führen wir in einem Projekt jeweils Neuerungen und Anpassungen durch.
im Projekt ist fälschlicherweise ein Standartwert aktiv, der bei jeder neugenerierten Tabelle als Vorgabe erscheint. Diesen würde ich nun gerne über das Makro entfernen, so dass er beim nächsten Monatswechsel nicht mehr die 0 vorgibt. Natürlich dürfen dabei die bereits erfassten Werte nicht gelöscht werden.
Der Pfad für das Projekt ist fix und lautet c:\kaever\kaever_d.accdb
Die Tabelle in der das Feld mit dem ungeliebten Standartwert ist heisst SeamMilch
Im beilgigenden Pic markiere ich das Feld sowie den Standartwerd der entfernt werden soll.


Ich wäre dankbar, wenn mir jemand das skript aufzeigen könnte.
Ich schaffe es lediglich das Feld zu löschen oder umzubenennen. Aber den Standartwert bringe ich einfach nicht raus.
besten dank.
kitech

[Anhang gelöscht durch Administrator]

DF6GL

#1
Hallo,

da gibt es kein Makro dafür...

Markier einfach die "0" in der Eigenschaft "Standardwert" und lösch die mit Taste "Entf" heraus".  Voraussetzung ist, dass Du an der Tabelle überhaupt etwas ändern kannst/darfst.

"Standartwert aktiv, der bei jeder neugenerierten Tabelle als Vorgabe erscheint"

tönt nach schlechtem DB-Design.    Wenn jedesmal eine neue Tabelle generiert wird (WIE?? ) , dann muß zu diesem Zeitpunkt der Standardwert entfernt werden.



z. B. mit VBA (Luftcode) :


dim dbMdb as Database
dim tdfTab as Dao.TableDef
dim fldFeld as Dao.Field
Set dbMdb=opendatabase ("c:\kaever\kaever_d.accdb")

Set tdfTab=dbMdb.TableDefs("SeamMilch")
Set fldFeld=tdfTab.Fields("MilchKg")
fldFeld.DefaultValue=null
dbMdb.Close

Kitech

danke df6gl

habe mich nicht exakt ausgedrückt. klar wird nicht eine neue Tabelle erstellt. Es werden bei einem Datumswechsel die Monate im Formular aktualisiert und das Feld im Formular hat dann den Vorgabewert 0. Und eben diese 0 beist sich dann.
Manuell kann ich die 0 entfernen das ist machbar. Allerdings liegt die kaever_d Datenbank extern und das einige male, so dass ich da viel Aufwand habe um die 0 zu entfernen.
Ich nutze ein Modul (AddAttribut) (ich hoffe das habe ich jetzt richtig formuliert) um jeweils automatisch an der Datenbank Ergänzungen durchzuführen und habe Deinen Code eingefügt und probiert. Es geht noch nicht. Ich muss noch versuchen daran zu arbeiten.
Danke aber für die Bemühung und den Ansatz.

DF6GL

#3
Hallo,


"Allerdings liegt die kaever_d Datenbank extern und das einige male, so dass ich da viel Aufwand habe um die 0 zu entfernen."

Heißt "extern": die Db insgesamt wird von mehreren unabhängigen Kunden/Firmen betrieben  

oder


das Backend (die Datei mit den Tabellen) liegt auf einem firmeninternen  Rechner (Server)  und darauf greifen mehrere Mitarbeiter von ihren lokalen PCs aus mit ihren lokalen Frontend-Dateien   zu?



Wenn die Db von externen Kunden betrieben wird, dann wäre es sinnvoll, ein eigenständiges Progrämmchen ( "kaever_Update.mdb") zu machen (vielleicht hast Du das schon in Form Deines AddAttribut-Moduls) ,  das an der DB beim entspr. Kunden die Änderungen durchführt.  

(zeige mal den Code von diesem Modul..)


Wenn die DB aufgeteilt ist in Frontend und Backend, und nur Formulare sind von der Änderung betroffen, genügt die Änderung an Deinem "Entwicklungs"-Frontend und die Verteilung des FE an die Kunden, die damit ihr altes FE überschreiben.





Kitech

Exakt Frontend und Backend und Entwicklungs Frontend.
So heissen die Datenbanken. Genau. Danke.
Ich lege die Entwicklungs Frontend bei.  Vielleicht sieht man dann besser, wie ich das versuche zu lösen.

[Anhang gelöscht durch Administrator]

DF6GL

Hallo


habe meinen vorher geposteten Code in die Update-Funktion eingebaut. Damit wird dann der Standardwert im besagten Tabellenfeld entfernt.


Wenn der Standardwert immer noch in einem  Formular eingesetzt wird, muß auch in diesem die enstpr. Textfeld-Eigenschaft korrigiert werden.





[Anhang gelöscht durch Administrator]