Supportnet / Forum / Datenbanken
A97 - Tbl Feldformat per Makro/Code ändern
Frage
Hallo liebe Experten,
ich möchte in einem Makro eine Aktion haben, die ein Feld meiner Tabelle von "Text" zu "Zahl" ändert.
Geht das?
Grüße
chichitta
Antwort 1 von Roadrunner90
Antwort 2 von chichitta
Hallo Rudolf,
danke für den Hinweis. Allerdings gibt es auf dieser Seite ziemlich alles bis auf die Formatänderung. Vielleicht habe ich was übersehen.
Gruß
ch
danke für den Hinweis. Allerdings gibt es auf dieser Seite ziemlich alles bis auf die Formatänderung. Vielleicht habe ich was übersehen.
Gruß
ch
Antwort 3 von JohnnyLoser
Hi chichitta,
soweit ich weiß, sind die Feld-Eigenschaften eines TableDef-Objektes (Tabelle) schreibgeschützt.
Du kannst nur ein neues Feld mit den neuen Eigenschaften erstellen, dieses Deiner Feld-Auflistung anhängen, die Daten vom alten ins neue Feld übertragen und dann das alte Feld löschen.
Mich geht's wahrscheinlich nichts an, aber wie oft willst Du denn während der Laufzeit die Feldeigenschaften ändern?
Johnny
soweit ich weiß, sind die Feld-Eigenschaften eines TableDef-Objektes (Tabelle) schreibgeschützt.
Du kannst nur ein neues Feld mit den neuen Eigenschaften erstellen, dieses Deiner Feld-Auflistung anhängen, die Daten vom alten ins neue Feld übertragen und dann das alte Feld löschen.
Mich geht's wahrscheinlich nichts an, aber wie oft willst Du denn während der Laufzeit die Feldeigenschaften ändern?
Johnny
Antwort 4 von Roadrunner90
Hi chichitta,
hab nochmal reingeschaut. da steht genau beschrieben, wie ein Feld per Code zu ändern ist.
hab nochmal reingeschaut. da steht genau beschrieben, wie ein Feld per Code zu ändern ist.
Zitat:
3.5 Datentyp eines Feldes per Code ändern
3.5 Datentyp eines Feldes per Code ändern
Antwort 5 von chichitta
Hallo Johnny, Rudolf
eigentlich habe ich folgendes Problem zu lösen:
Was ich habe
Tab1, REF-Feld im Text-Format
Qry1 erstellt Tab2
Tab2, REF-Feld im Text-Format
Tab3, REF-Feld im Zahl-Format
Qry2 verbindet Tab2 und Tab3
1) in der Tab1 gibt es ein Feld "REF" in Text-Format, wo User über Formular eine Referenznummer eintragen. Diese Nummer kann nur Zahlen oder Zahlen/Buchstaben enthalten, daher das Format "Text".
2) ich habe eine Tabellensrtellungs-Qry1, die nur Zahlen aus der Tab1 filtert, anschliessend erstelle ich als Ergebnis die Tab2, wo das Feld "REF" immer noch im Text-Format erscheint.
3) ich muß eine neue Qry2 schreiben, die Tab2 und Tab3 über REF-Feld miteinander verknüpft. REF-Feld in Tab3 hat Format Zahl, in Tab2 - "Text", die Verknüpfung Text mit Zahl geht nicht.
MEINE ÜBERLEGUNG:
ich schreibe ein Makro, welches Tab2 erstellt und anschließend das Feld REF in Zahl umwandelt.
eigentlich habe ich folgendes Problem zu lösen:
Was ich habe
Tab1, REF-Feld im Text-Format
Qry1 erstellt Tab2
Tab2, REF-Feld im Text-Format
Tab3, REF-Feld im Zahl-Format
Qry2 verbindet Tab2 und Tab3
1) in der Tab1 gibt es ein Feld "REF" in Text-Format, wo User über Formular eine Referenznummer eintragen. Diese Nummer kann nur Zahlen oder Zahlen/Buchstaben enthalten, daher das Format "Text".
2) ich habe eine Tabellensrtellungs-Qry1, die nur Zahlen aus der Tab1 filtert, anschliessend erstelle ich als Ergebnis die Tab2, wo das Feld "REF" immer noch im Text-Format erscheint.
3) ich muß eine neue Qry2 schreiben, die Tab2 und Tab3 über REF-Feld miteinander verknüpft. REF-Feld in Tab3 hat Format Zahl, in Tab2 - "Text", die Verknüpfung Text mit Zahl geht nicht.
MEINE ÜBERLEGUNG:
ich schreibe ein Makro, welches Tab2 erstellt und anschließend das Feld REF in Zahl umwandelt.
Antwort 6 von JohnnyLoser
Hi Greenhorn,
also wenn Du Deine Tabelle erstellst, warum läßt Du Dir nicht gleich den Wert in Long Integer umwandeln?
In diesem Besipiel gehe ich davon aus, daß imer die letzten beiden Stellen Zahlen sind, bei Dir wird es wahrscheinlich anders sein.
Gruß
Johnny
also wenn Du Deine Tabelle erstellst, warum läßt Du Dir nicht gleich den Wert in Long Integer umwandeln?
SELECT CLng(Right([REFA],2)) AS REFB INTO Tab2
FROM Tab1In diesem Besipiel gehe ich davon aus, daß imer die letzten beiden Stellen Zahlen sind, bei Dir wird es wahrscheinlich anders sein.
Gruß
Johnny

