Limite Recordset in update database

il_betto

Utente Attivo
23 Mar 2007
42
0
0
Ciao a Tutti !!
Ho il seguente problema "attanagliante "

Ho la pagina index.asp, che apro con Explorer, che contiene diversi moduli che richiamano i valori dei campi di un database Access ...
Tale pagina contiene un pulsante "Salva" che fa l' aggiornamento di tali campi una volta che uno ha scelto i valori giusti all' interno dei vari menu' a tendina

fin qui tutto OK !!
Pero' mi e' sucesso che, inserendo nel Database piu' di 101 campi, al momento dell' aggiornamento del Database col pulsante "Salva" mi e' apparso l' errore


Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access] Espressione troppo complessa
aggiorna.asp, line 120


Mi e' sembrato un limite di buffer, vuoi che la funzione Update di un Recorset non riesca a supportare un numero di campi > 101 ?? E' per questo che chiedo il vostro aiuto perche' non so cosa devo fare

Ho provat oanche con response.buffer ma niente !!
Ho letto poi nel sito della microsoft che e' un problema legato all' uso di ADODB.Recordet che e' limitato;
Sono costretto in tutti i modi a ricorrere ad una UPDATE classica (il cui codice non conosco) oppure IN QUALCHE MODO si puo' salvare questo lavoro che ho fatto e che mi e' costato dei mesi ??

Grazie mille per l' aiuto !!!


Pagina Index.asp

<%@ Language=VBScript %>
<% Option Explicit
Dim check, nr, objConn, objRS, objRS2, rec, strSQL
'
check = 0
nr = 0
rec = 1
'
if trim(request("rec"))<>"" then rec = Request("rec")
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>SSD</title>
<Script Language="JavaScript">
function notify(n) {
if (n==0) {
var answer = confirm("Salvare le modifiche?")
if (answer) {
document.FrontPage_Form.action = "aggiorna.asp"
document.FrontPage_Form.submit();
return true; } }
}
</script>
</head>

<body>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=ssd09.dsn"
objConn.Open
'
Set objRS2 = Server.CreateObject("ADODB.Recordset")
objRS2.Open "t_check", objConn, , 3, 2
Do While Not objRS2.EOF
If (objRS2("Numero") = Cint(rec)) Then
strSQL = "SELECT * FROM t_check WHERE Numero = " & rec
Set objRS = objConn.Execute(strSQL)
check = check + 1
End If
objRS2.MoveNext
nr = nr + 1
Loop
If (check = 0) Then
rec = 1
strSQL = "SELECT * FROM t_check WHERE Numero = " & rec
Set objRS = objConn.Execute(strSQL)
End If
'
%>

<form method="POST" webbot-onSubmit language="JavaScript" name="FrontPage_Form">
<table>
<td width="104" align="center" height="24">
<p style="margin-top: 10px">
<select size="1" name="arrivo_camp" id="arrivo_camp" style="font-family: Arial; font-size: 10 pt; width: 80">
<option selected><%=objRS("Arrivo_Camp")%></option>
<option>184</option>
<option>190</option>
<option>P291</option>
<option>P294</option>
</select></td>
....................
<input type="submit" name="salva" value="Salva" onClick="notify(0)">
.......................
</table></form>
<%
objRS.Close
objRS2.Close
objConn.Close
Set objConn = Nothing
%>

Pagina aggiorna.asp

<%@ Language=VBScript %>
<%
Option Explicit
Dim objConn, objRS, rec
'
rec = Cint(Request.Form("rec_mod"))
'
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=ssd09.dsn"
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "t_check", objConn, , 3, 2
'
Do While Not objRS.EOF
If (objRS("Numero")=rec) Then
objRS("Arrivo_Camp") = Request.Form("arrivo_camp")
objRS("Arrivo_Proc") = Request.Form("arrivo_proc")
...... di questi ne ho piu' di 100 !!! <----
'
objRS.Update
'
End If
objRS.MoveNext
Loop
'
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

<HTML>
<BODY> ...... ... </BODY>
</HTML>
 

il_betto

Utente Attivo
23 Mar 2007
42
0
0
Nella pagina index.asp ho lasciato tutto invariato,
mentre nella pagina aggiorna.asp ho fatto i seguenti cambiamenti:

<%@ Language=VBScript %>
<%
Option Explicit
Dim objConn, objRS, rec, sql
'
rec = Cint(Request.Form("rec_mod"))
'
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=ssd09.dsn"
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "t_check", objConn, , 3, 2
'
Do While Not objRS.EOF
If (objRS("Numero")=rec) Then
sql = "UPDATE t_check SET Camp='"& Request.Form("camp") &"', " & _
"Proc='"& Request.Form("proc") &"', " & _
"Rep='"& Request.Form("rep") &"', " & _
.........
"Vel='"& Request.Form("vel") &"' WHERE Numero =" & rec & ""
objConn.Execute(sql)
'
End If
objRS.MoveNext
Loop
'
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

<HTML>
<BODY>
........
</BODY>
</HTML>

fin qui tutto OK !!!

Il problema e' che ho una tabella t_check di 131 campi e questa quesy di UPDATE funziona solo per 127 campi, me ne rimangono fuori 4 !!

Come mai c' e' questo limite ??
L' errore che mi dice e': "Troppi campi definiti"

Come si puo' superare questo limite e far aggiornare gli ultimi 4 campi che mi rimangono ?? :confused: :dipser:

Grazie per l' aiuto !!
 

il_betto

Utente Attivo
23 Mar 2007
42
0
0
Ho finalmente risolto il problema cosi':
Se qualcuno avesse una soluzione migliore, sono sempre tutto orecchie !!!

<%@ Language=VBScript %>
<%
Option Explicit
Dim objConn, objRS, rec, sql, sql2
'
rec = Cint(Request.Form("rec_mod"))
'
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=ssd09.dsn"
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "t_check", objConn, , 3, 2
'
Do While Not objRS.EOF
If (objRS("Numero")=rec) Then
sql = "UPDATE t_check SET Camp='"& Request.Form("camp") &"', " & _
"Proc='"& Request.Form("aesi_proc") &"', " & _
......
"Vel='"& Request.Form("vel") &"' WHERE Numero =" & rec & ""
objConn.Execute(sql)
sql2 = "UPDATE t_check SET Ore_P='"& Request.Form("ore_p") &"', " & _
"Ore_S='"& Request.Form("ore_s") &"' WHERE Numero =" & rec & ""
objConn.Execute(sql2)
'
End If
objRS.MoveNext
Loop
'
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

<HTML>
<BODY>
....</BODY>
</HTML>

0:)
 
Discussioni simili
Autore Titolo Forum Risposte Data
ges Microsoft ACCESS oltre ogni limite (tre manuali) Altri Annunci 2
M [PHP] Imposta limite giornaliero PHP 1
P [Java] limite destro di un JFrame Java 5
L php - limite di memoria PHP 1
Z Limite invio newsletter con PHP - mail() PHP 4
Shyson [WordPress] Mettere un limite a lunghezza caratteri WordPress 11
ecosito Limite di 1 tweet sul Plugin di Twitter Javascript 2
L Limite lunghezza $_POST ??? PHP 1
G Limite di "grandezza" per cui non conviene più Joomla Joomla 5
Monital Query oltre il limite massimo PHP 4
Mauro Guardiani cerco webmaster per problemi reCAPTCHA e limite indirizzo ip. Offerte e Richieste di Lavoro e/o Collaborazione 0
S limite post annunci a utente ... PHP 17
A Limite minimo con countdown textarea Javascript 0
X interazione javascript e php (aggirare limite) Javascript 2
A Ciclo for su 2 colonne con limite a 10 PHP 1
M Limite massimo foto in Mooflow? Javascript 0
B Limite ai login PHP 13
I Limite di peso del file in un upload di file in flash Flash 1
L limite altezza in scrollpane Flash 1
amanu86 Limite Access MS Access 1
C limite tempo script Classic ASP 2
W ADODB.Recordset error '800a0bb9' Classic ASP 2
akira [MS Access] Apertura recordset MS Access 1
P [Visual Basic] access sql estrarre id vendite x cli e articolo con data maggiore del recordset Visual Basic 2
R [MS Access] COME APRIRE UNA MASCHERA FACENDO DOPPIO CLICK SU UN RECORDSET MS Access 1
R [MS Access] aprire maschera con doppio click su recordset di sottomaschera MS Access 4
A barra navigazione recordset PHP 1
A recordset che compare solo se non è vuoto Classic ASP 5
S Problema select su recordset nidificati Classic ASP 5
M Recordset da tabelle diverse Classic ASP 1
max1850 Richiamare un recordset Webdesign e Grafica 1
A adodb.recordset Visual Basic 1
D onchange Chiama Recordset Classic ASP 3
M ADODB.connection e ADODB.recordset: differenze e utilità. Classic ASP 5
PoLe Alternativa a Datagrid per paginazione Recordset ASP.NET 0
J gestione recordset PHP 0
T Ordinare dati di un Recordset [era:Grosso problema, chi mi aiuta?] Classic ASP 2
K recordset da excel PHP 2
metalgemini ADODB.Recordset error '800a0bb9' Classic ASP 7
B VB come gestisco i recordset? Visual Basic 1
A dei link in un recordset..! Classic ASP 41
S problema con recordset Classic ASP 6
K Il Recordset Classic ASP 1
Z Dreamweaver 2004 e RECORDSET Classic ASP 0
M come colorare i recordset con asp Classic ASP 1
T update PHP 1
K Problema form update PHP 2
M query update e delete PHP 0
N MAX() + ADD_DATE - per update su Mysql MySQL 0
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1

Discussioni simili