Beitrag von Hans (355 Beiträge) am Donnerstag, 6.Dezember.2001, 17:53.
en bloc Befüllen eines Feldes/selektieren
Hallo - wie kann ich in einer db EN BLOC (!) in ein Feld einen Eintrag vornehmen, und wie kann ich nicht markierte Ds aussortieren.
Konkret: ich will bearbeitete Ds markieren, und dazu habe ich bereits 103 Stck , die ich alle mit "J" markieren will, Wenn weitere dazukommen, und ich diejenigen OHNE Markierung herausfinden will, geht das mit SUCHEN...aber muß ich das immer erst herunterladen, um dann (z.B. in APPROACH) die Felder zu bearbeiten, und dann wieder ALLES hochladen? (Umständlich und wg. der Felderzuordnung in txt/csv auch immer problematisch...das sollte online gehen..geht es ?
Grüße
Hans
Antworten
Beitrag von Stefan Krupop (311 Beiträge) am Donnerstag, 6.Dezember.2001, 18:22.
Re: en bloc Befüllen eines Feldes/selektieren
Antworten
Beitrag von Hans (355 Beiträge) am Donnerstag, 6.Dezember.2001, 19:03.
Re: en bloc Befüllen eines Feldes/selektieren
ah..."ID==*" legt wohl "alle ds" fest.
und wie definiere ich nur "leere" Felder als zu selektierend?
(insofern ist baseportal recht kompliziert, finde ich, weil man PERLen muß...) In Approach (und wohl auch ACCESS) kann ich mit SUCHEN alle "leeren" oder die Felder mit einem "bestimmten" Inhalt selektieren, und alles, was ich dann mache, solange die Selektion aktiv ist, bezieht sich auf diese Felder (z.B. ein Feld in allen selektierten Ds mit irgendwas befüllen)
Gibt es einen Befehl "zeige alle ds, deren Feld "NAME"=leer"
Grüße
Hans
Antworten
Beitrag von Stefan Krupop (311 Beiträge) am Donnerstag, 6.Dezember.2001, 20:39.
Re: en bloc Befüllen eines Feldes/selektieren
Abfragen nach leeren Feldern scheinen bei BP nicht zu gehen (oder Christoph?). Aber mit ein bischen mehr Perl ist auch das kein Problem:
<perl>
get "Id==*", "DATENBANK";
while (get_next("DATENBANK")) {
if ($FELD eq "") {
mod "Id==$_id",["FELD", "WERT"], "DATENBANK";
}
}
</perl>
Ändert bei allen Datensätzen bei denen "FELD" leer ist selbiges auf "WERT". Sieh mal in der Doku nach, fallst du mehrere Felder ändern willst.
Stefan
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 7.Dezember.2001, 00:26.
Re: en bloc Befüllen eines Feldes/selektieren
Das haut nicht hin, zerstört ev. sogar die db, oder Oliver?
Ich habe festgestellt, das bei get ein Ergebnis mit angegeben werden muß, wenn bei get_next ein mod auf dieselbe db drin ist.
Sander
Antworten
Beitrag von Stefan Krupop (311 Beiträge) am Freitag, 7.Dezember.2001, 12:21.
Re: en bloc Befüllen eines Feldes/selektieren
Wie haut's denn nicht hin, wenn's nicht hinhaut? Beim Testen hat's ganz gut geklappt (waren aber nur 3 DS)...
Könntest du den letzten Satz nochmal anderst schrieben? Das hab ich jetzt nicht verstanden... Was für ein Ergebnis denn?
Stefan
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 7.Dezember.2001, 15:47.
Re: en bloc Befüllen eines Feldes/selektieren
<perl>
get "Id==*", "DATENBANK","Ergebniss";
while (get_next("Ergebnis")) {
if ($FELD eq "") {
mod "Id==$_id",["FELD", "WERT"], "DATENBANK";
}
}
</perl>
Ich hab das nur bei grösseren DBs bis jetzt gemacht, da sprang ohne dem Ergebnis entweder der Scriptblocker ein oder es wurde nur der erste DS geändert oder ganz anderer Mist gemacht.
Sander
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 8.Dezember.2001, 14:44.
Re: Abfrage nach leeren Feldern...
Antworten