Beitrag von Barbara (59 Beiträge) am Donnerstag, 23.Dezember.2004, 19:41.
perl, Leerzeichen
Hallo liebe Könner,
ich habe gerade im Forum gelesen, man solle eine Abfrage, wenn Leerzeichen mit Feld sind, wie folgt aufbauen:
<perl>
get ["MA_Bearbeitung", "==", $Altbestand 2003], "Kundeninfos2";"holen";
while (get_next "holen"){
mod "Id==$_id",["MA_Bearbeitung","Versuch"],"Kundeninfos2";
}
</perl>
Dann wird folgender Fehlercode ausgegeben:
[ Fehler: Fehlerhafter Perl Code in :
syntax error at (eval 826) line 2, near "$Altbestand 2003" ]
Wenn ich zwischen Altbestand und 2003 einen Unterstrich setze oder den Leerschritt wegmache, passiert garnichts.
Kann mir vielleicht jemand helfen?
Liebe Grüße,
Barbara
Antworten
Beitrag von Claus Christmeier (598 Beiträge) am Donnerstag, 23.Dezember.2004, 19:46.
Re: perl, Leerzeichen
Hallo Barbara,
Du MUSST es so schreiben:
get ["MA_Bearbeitung", "==", "$Altbestand 2003"], "Kundeninfos2","holen";
Gruß
Claus
Antworten
Beitrag von Barbara (59 Beiträge) am Freitag, 24.Dezember.2004, 13:52.
Re: perl, Leerzeichen
Lieber Claus,
ich werde noch wahnsinnig!
Ich habe es erst innerhalb des reinen perl-codes (nur <perl> ... </perl>) so geändert, wie Du oben beschrieben hast.
Da passierte garnichts.
Dann dachte ich, dass das Dollarzeichen doch ein loop-Zeichen ist, und habe das Ganze so aufgebaut:
<loop code=perl>
get ["$MA_Bearbeitung", "==", "Altbestand 2003"], "Kundeninfos2";"holen";
while (get_next "holen"){
mod "Id==$_id",["$MA_Bearbeitung","Versuch"],"Kundeninfos2";
}
</loop>
Jetzt zeigt mir baseportal folgende Fehlermeldung:
[ Fehler: Die angegebene Datenbank ist für den gewünschten Zugriff nicht freigegeben.
Lösung: Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Verwaltung' und ändern Sie die Rechte entsprechend. ]
[ Fehler: Permission denied to read /Messe/Versuche/KundeninfosAendernDie angegebene Datenbank ist für den gewünschten Zugriff nicht freigegeben.
Lösung: Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Verwaltung' und ändern Sie die Rechte entsprechend. ]
[ Fehler: Kann /usr/local/httpd/baseportal_NOACCESS/Messe/Versuche/KundeninfosAendern nicht öffnen ]
[ Fehler: Kann /Messe/Versuche/KundeninfosAendern nicht sperren ]
Die angegebene Datenbank ist aber für alle Zugriffe freigegeben!
Was ist dann nun wieder falsch?
Mit den besten Weihnachtswünschen
Barbara
Antworten
Beitrag von hempelr (1976 Beiträge) am Freitag, 24.Dezember.2004, 14:43.
Re: perl, Leerzeichen
jetzt im get ein Semikolon zuviel, ein Semikolon schließt in Perl einen Befehl ab, sind auch so noch paar syntaktische Fehler drin, versuch mal:
<perl>
get ["$MA_Bearbeitung", "==", "Altbestand 2003"], "Kundeninfos2", "holen";
while (get_next("holen")){
mod "Id==$_id",["$MA_Bearbeitung","Versuch"],"Kundeninfos2";
}
</perl>
Lies doch auch mal die Kapitel zu Variablen, zum get und mod in der Doku, hier mal die Links:
http://baseportal.de/baseportal/doku/baseportal.pl?htx=/doku/wiki&kennung=48
http://baseportal.de/baseportal/doku/baseportal.pl?htx=/doku/wiki&kennung=51
http://baseportal.de/baseportal/doku/baseportal.pl?htx=/doku/wiki&kennung=64
vielleicht wird dann auch manches für dich klarer ;-)
Ruben
Antworten
Beitrag von Barbara (59 Beiträge) am Freitag, 24.Dezember.2004, 16:27.
Re: perl, Leerzeichen
Lieber Claus, lieber Ruben,
mit dem letztem Vorschag:
<perl>
get ["$MA_Bearbeitung", "==", "Altbestand 2003"], "Kundeninfos2", "holen";
while (get_next("holen")){
mod "Id==$_id",["$MA_Bearbeitung","Versuch"],"Kundeninfos2";
}
</perl>
kommt folgende Fehlermeldung:
[ Fehler: Feld in /Messe/Versuche/Kundeninfos2 nicht vorhanden
Ursache: Das Feld wurde in der Datenbank nicht definiert. Vielleicht haben Sie sich bei der Abfrage auch nur verschrieben?
Lösungen: 1. Korrigieren Sie Ihre Abfrage. 2. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Felder' und fügen Sie das gewünschte Feld hinzu. ]
Und glaubt mir, ich habe die entsprechenden Stellen in der Doku so oft gelesen, dass ich sie fast auswendig kann, ich komme trotzdem nicht auf die Idee, wo der Fehler liegt!
Das Feld, dessen Inhalt geändert werden soll, heißt MA-Bearbeitung, der zu ändernde Inhalt ist Altbestand 2003 in Versuch. Ist da vielleicht irgendwas mit dem Dollarzeichen falsch?
Ich glaube, das wäre mein schönstes Weihnachtsgeschenk, wenn das endlich hinhaut!
Weihnachtliche Grüße,
Barbara
Antworten
Beitrag von Claus Christmeier (598 Beiträge) am Freitag, 24.Dezember.2004, 18:03.
Re: perl, Leerzeichen
Hallo liebe Barbara,
1.) das '$' vor MA.... gehört weg!!!
2.) Du musste Dich schon entscheiden, ob das Feld jetzt 'MA_Bearbeitung', heißt wie Du im 'get' geschrieben hast, oder ob es 'MA-Bearbeitung' heißt, wie Du in den Erläuterungen geschrieben hast ;-)
Trotz der vielen kleinen Feinheiten
FROHE WEIHNACHTEN
Gruß
Claus
PS:
---
Wenn es immer noch nicht klappen sollte, dann schicke mir bitte eine E-Mail, danach kann ich Dir meine Telefonnummer übermitteln und kannst mich dann anrufen, auch während der Feiertage - ist das ein Angebot?
Antworten
Beitrag von Barbara (59 Beiträge) am Samstag, 25.Dezember.2004, 16:55.
Re: perl, Leerzeichen
Wow! Es klappt! Dabei dachte ich, ich hätte schon alle möglichen Kombinationen ausprobiert!
Falls Du mal nach Berlin kommst, lade ich Dich als Dankeschön in mein Bistro ein! Dann mail an: bistro.eichkater@directbox.com.
Danke, Barbara
Antworten
Beitrag von Claus Christmeier (598 Beiträge) am Freitag, 24.Dezember.2004, 15:17.
Re: perl, Leerzeichen
Hallo liebe Barabara,
hättest Du 'meinen' GET-Befehl kopiert (markieren, Strg -c-, Strg -v-), hätte es sofort geklappt und Ruben hätte sich den Beitrag ersparen können ;-)
Gruß
Claus
Antworten