Rolf B: ASP MSAccess - input type file - wert in DB nicht ändern, wenn nichts verändert

Beitrag lesen

Hallo Auge,

das ist kein PHP, sondern ASP. Das wird mit einem BASIC Dialekt (VBScript) gesteuert.

Eine fertige Lösung habe ich aber auch nicht, weil mein ASP und VBScript dafür nicht reicht. Ich sehe nur, dass der OP sehr seltsame Dinge tut, z.B. ein Button "RechnungsText" statt zuvor ein File-Upload Control. Ein Button ist dann in Request.Form enthalten, wenn das Form über diesen Button submittet wurde, sonst nicht.

Es ist auch sehr merkwürdig, dass beim File Upload der Pfad zur Datei übergeben wird, das sollte nicht sein, das ist eine Information über den Computer des Anwenders, die nicht vom Form gepostet werden sollte. Ebenfalls außergewöhnlich ist die Idee, einen Dateinamen mittels File Upload zu übergeben, weil das nämlich nicht nur den Namen, sondern die ganze Datei hochlädt. Wenn die nicht zu groß ist, kann man das vermutlich hinnehmen.

Wenn man eine Datei auswählen soll, auf die der Server Zugriff hat, wäre ein Dialog sinnvoll, der vom Server gesteuert die Auswahl einer Datei ermöglicht. Das setzt aber mehr Knowhow voraus als der OP sich selbst zugesteht.

Was Request.Form("Rechnungspfad") liefert, wenn der Rechnungspfad leer ist, kann ich nur vermuten. Ich würde annehmen, dass es Null ist. Diesen Wert fragt man mit IsNull ab:

IF (IsNull(Request.Form("Rechnungspfad")) THEN
   ' Pfad nicht ändern
ELSE
   ' Pfad ändern
END IF

Ein Input Element, in dem der "alte Rechnungspfad" steht, sollte im Browser übrigens readonly gemacht werden (wenn man ihn denn sehen können soll). Wenn nicht, gibt's auch type="hidden". Eine tolle Lösung ist das aber nicht, weil man damit den Wert dem Client anvertraut und sich darauf verlassen muss, dass der Client ihn nicht beliebig manipuliert (was mittels F12 Entwicklerwerkzeuge ganz schnell gemacht ist). Besser wäre es, zwei Update-Varianten vorzuhalten. Eine ändert den Rechnungspfad, die andere nicht.

Rolf

--
sumpsi - posui - clusi