Hallo, das Problem wurde jetzt gel�st indem jeder Artikel in einem eigenen Formular dargestellt wird. Hat zwar zur Folge das jedes update mehrerer Artikel einzeln durchgef�hrt werden mu� aber ich denke so bin ich auf der Seite Nr Sicher.
Vielen Danke f�r Dein ausf�hrliche Hilfe. Gruss Petra -----Urspr�ngliche Nachricht----- Von: Hubert Daubmeier [mailto:[EMAIL PROTECTED]] Gesendet: Samstag, 16. M�rz 2002 11:43 An: ASP Diskussionsliste fuer Anfaenger Betreff: [aspdebeginners] RE: [aspdebeginners] update tabelle klappt nicht wie gew�nscht Das geht leider so nicht, wie Du das vorhast. Wenn Du auf einer Seite mehrere Formularfelder mit gleichen Namen hast, dann werden deren Inhalte als kommagetrennte Liste an den Formularhandler �bergeben. Beispiel g�be es auf dem Formular nur das <input type="text" name="einzelvkdm" ... W�rde im Formularhandler etwa Einzelvkdm = 47.11 ankommen. Was Du offensichtlich hast sind mehrere Felder mit gleichem Namen <input type="text" name="einzelvkdm" ... <input type="text" name="einzelvkdm" ... <input type="text" name="einzelvkdm" ... Damit kommt im Formularhandler etwa sowas an Einzelvkdm = 47.11, 48.12, 49.13 So und das zerhaut Dir Dein SQL. Du braucht update stdBestArtikel set EinzelVKDM=47.11 GesamtVKDM=.. Du hast bzw. kriegst druch die Mehrfachfelder mit gleichem Name update stdBestArtikel set EinzelVKDM=47.11, 48.12, 49.13 GesamtVKDM=... Sprich die DB weiss nicht wass sie damit anfangen soll. Oder sollte man eher sagen sei froh dass es die DB nichts wei� .. ;-) Abhilfe ist eigentlich ganz simpel: Du willst Einzels�tze aktualisieren. Umn also Einzeldaten zu kriegen schau dass die Feldnamen eindeutig werden und keine doppelten mehr daher kommen. Eine M�glichkeit w�re die Satz-ID in den Feldnamen mit einzuschmuggeln. Am besten in alle. Etwa <input type="text" name="einzelvkdm-123" ... <input type="text" name="einzelvkdm-129" ... <input type="text" name="einzelvkdm-300" ... Die Formularbehandlung wird damit auch ein St�ck anders. Etwas aber nicht viel komplizierter. Es ist aber einiges umzustellen. Sehe aber spontan nicht, wie man da einfacher ans Ziel kommen k�nnte. Angenommen alle Feldnamen enthalten die Satznummer. Und die Satznummer ist mit Bindestrich abgetrennt. 1. Alle vorhandenen Ids rausfinden. K�nnte man ggf cleverer l�sen, indem man sie im Formular getrennt irgendwo mitgibt. For Each Field In Request.Form ' kommt - im Feldnamen vor If Instr(Field, "-") > 0 Then a = split(Field, "-") ' is was gscheits bei rausgekommen if Ubound(a) = 1 Then ' nur hinzuf�gen, wenn noch nicht vorhanden If Instr(AlleIDs, a(1) & ",") = 0 Then AlleIDs = AlleIDs& a(1) & "," End If End If End If Next ' letztes Komma abschneiden If Len(AlleIDs) > 1 Then AlleIDs= Left(AlleIDs, Len(AlleIDs)-1) 2. Jetzt die Datens�tze der Reihe nach abarbeiten. Da fehlt noch ein bischen DB rel. Code. Aber das hast Du bestimmt im Griff. ArrayID = Split(AlleIDs, ",") For Each EinzelID in ArrayID UpdateById EinzelID Next ' Auslesen der Formularwerte mit Satznummer Sub UpdateById(Satznummer) sql = "update stdBestArtikel set " sql = sql & "EinzelVKDM=" & Request("EinzelVKDM" & "-" & Satznummer) & ", " ... und so fort sql = sql & "where bestArtNr=" & Satznummer recupdateartikel.open sql, con End Sub Sorry wenn es etwas l�nger geworden ist -- Viele Gr��e Hubert Daubmeier -----Original Message----- From: Petra Budde [mailto:[EMAIL PROTECTED]] Sent: Friday, March 15, 2002 7:48 PM To: ASP Diskussionsliste fuer Anfaenger Subject: [aspdebeginners] update tabelle klappt nicht wie gew�nscht Hallo, auf einer Seite werden mir Artikel einer Bestellung angezeigt. Die werden f�r n�tige updates in Textfeldern ausgegeben. Das mache ich folgenderma�en: sql="select * from stdBestArtikel where BestellNr="&BestellNr recartikel.open sql, con While Not recartikel.EOF sql = "update stdBestArtikel set " sql = sql & "EinzelVKDM=" & EinzelVKDM & ", " sql = sql & "GesamtVKDM=" & GesamtVKDM & ", " sql = sql & "EinzelVKEuro=" & EinzelVKEuro & ", " sql = sql & "GesamtVKEuro=" & GesamtVKEuro & ", " sql = sql & "Menge="& Menge & ", " sql = sql & "Attribut1id="& Attribut1id & ", " sql = sql & "Attribut2id="& Attribut2id & ", " sql = sql & "Status="& ArtikelStatus& ", " sql = sql & "where bestArtNr=" & bestArtNR response.write sql recupdateartikel.open sql, con recartikel.MoveNext wend recartikel.close Mir wird folgendes Sql angezeigt: update stdBestArtikel set EinzelVKDM=54.9, 14.9, GesamtVKDM=54.9, 29.8, EinzelVKEuro=28.01, 7.6,GesamtVKEuro=28.01, 15.2,Menge=1, 2, Attribut1id=78, 75, Attribut2id=-1, -1, Status=0, 5 where bestArtNr=8, 9 Mit der Fehlermeldung [Microsoft][ODBC SQL Server Driver][SQL Server]Zeile 1: Falsche Syntax in der N�he von '14.9'. Wird nur ein Artikel auf der Seite angezeigt, funktioniert das update. Was mache ich falsch?? Danke f�r Hilfe. Gruss Petra | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/ | [aspdebeginners] als [EMAIL PROTECTED] subscribed | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv | Sie knnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/ | [aspdebeginners] als [EMAIL PROTECTED] subscribed | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv | Sie knnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/ | [aspdebeginners] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv | Sie knnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
