- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- tabelle dinamiche
-
grazie del benvenuto CALI...in effetti volevo un aiutino sulla query
-
Cioè il problema è la query o le tabelle vuote?
-
tutte e due..vorrei che mi consigliassi cosa fare....nel form ho aggiunto una 20 di tabelle...secondo te dovrei cancellarle e lasciarne solo una? rendendo tutto dinamico o no?
-
Dipende da cosa devono visualizzare le tabelle, potrebbero essere necessarie tute e 20 oppure potrebbe bastarne una, dovreste descrive meglio il problema.
-
INFATTi è proprio questo il problema..le tabelle devono mostrare solo i record interessati..cioè quelli prelevati dal database..le altre tabelle vuote e statiche non devono essere mostrate
-
In quel caso, come ti avevo detto, potresti controllare se la tabella è vuota e in caso non la fai vedere.
-
questo l'ho capito, ma volevo un aiutino proprio su come strutturare la query...ti posso postare il codice?
-
cali mi puoi dare un aiutino? te ne sarei davvero grato
-
Premetto che non sono esperto di asp ma dovresti controllare che è vuoto con
if rs.bof and rs.eof then ..non visualizzi niente... else ...visualizzi la tabella e la riempi...
-
questa è una delle tabelle:
<TD
style="BORDER-RIGHT: #1e3f75 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=34 height=29>
<P class=MsoNormal>
<font size="1"> <%Response.Write(quantita)%></font></P></TD>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=64 height=29>
<P class=MsoNormal><font size="1"> <%Response.Write(codice)%></font></P></TD>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=221 height=29>
<P class=MsoNormal>
<font size="1"> <%Response.Write(descrizione)%></font></P>
</TD>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=221 height=29>
<P class=MsoNormal>
<font size="1"> <%Response.Write(difetto)%></font></P>
</TD>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=36 height=29>
<P class=MsoNormal>
<SPAN style="COLOR:">
<font size="1">
<INPUT size=4
name=qtval></font></SPAN></P></TD>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top width=338 height=29><font size="1">
<script type="text/javascript" language="JavaScript">
function alertselected(obj){
selectedOption = obj.options[obj.selectedIndex];
if(selectedOption.getAttribute('tipo_di_check') == "rm");
{
document.getElementById("rm").checked=true;
document.getElementById("sm").checked=false;
}
if(selectedOption.getAttribute('tipo_di_check') == "sm");
{
document.getElementById("sm").checked=true;
document.getElementById("rm").checked=false;
}}
</script>
<script type="text/javascript" language="JavaScript">
function alertselected(obj){
selectedValue = obj.options[obj.selectedIndex].value;
if(selectedValue == 1)
{
document.getElementById("rm").checked=true;
document.getElementById("sm").checked=false;
}
else
{
document.getElementById("sm").checked=true;
document.getElementById("rm").checked=false;
}
}
</script><form name="form">
<select name="select" onChange="alertselected(this)" size="1">
<option value="0">Seleziona</option>
<option value="1">toner residuo gr30 funzionante</option>
<option value="1">drum lesionato da manomissione</option>
<option value="1">separatore toner intatto</option>
<option value="1">toner esauriti senza toner nel contenitore</option>
<option value="1">cartuccia mai rigenerata</option>
<option value="1">carcasse rotte</option>
<option value="1">è stato tolto il separatore di toner ma stampano bene</option>
<option value="2">difettose doctor blade</option>
<option value="1">funzionante</option>
<option value="2">difettosa per drum</option>
<option value="2">difettose per drum ingranaggi non funzionanti</option>
<option value="1">funzionanti</option>
<option value="1">carcassa spaccata in due</option>
<option value="1">drum lesionato da urto</option>
<option value="2">perdita di toner</option>
<option value="1">lama di pulizia difettosa</option>
<option value="1">cartuccia non ricondizionata da sea</option>
<option value="1">sportello laterale rotto</option>
<option value="2">mag roller difettoso</option>
<option value="2">chip difettoso</option>
<option value="2">difettosità di stampa lato sinistro</option>
<option value="1">manica cartuccia rotto</option>
<option value="2">ingranaggio drum scollato</option>
<option value="2">perdita di toner</option>
<option value="1">contatti elettrici non funzionanti</option>
<option value="1">sportello drum rotto</option>
<option value="1">non accertabile difettosità</option>
<option value="1">prodotto non sea</option>
<option value="2">difettosità per testina asciutta</option>
<option value="1">prodotto non sea scarica</option>
<option value="1">cartuccia vuota</option>
<option value="1">sigillo di protezione non tolto</option>
<option value="1">cartuccia non sea originale</option>
<option value="1">cartuccia non sea integra</option></select>
<font color="#FF9900"><b> RM</b></font><input type="checkbox" id="rm" name="RM" value="1">
<b><font color="#008080">SM</font></b><input type="checkbox" id="sm" name="SM" value="1"><b><font color="#800000">NC</font></b> <b><font size="3" face="Verdana">
<SPAN style="COLOR:"><font size="1">
<INPUT size=4 name=nc30></font></SPAN></font></b></font></TD>prima dei response devo inserire la query?
-
Cosa intendi con query?
-
E se provassi a non estrarre i record dalla query direttamente con opportune istruzioni SQL ????
tipo:Select * from tabella WHERE qt > 0;
Questo pensando che tu abbia solo un campo senza valore, altrimenti, se hai nel DB più campi senza valori, impostali tu, mi spiego meglio:Select IF(qt = 0; 0; quantità) AS QUANT, ....FROM tabella;
Questo puoi farlo per qualsiasi campo, che pensi sia vuoto, così avrai almeno un valore che imposti tu !!!Ovviamente se i record vuoti sono in più campi, e su più tabelle, allora credo ti convenga fare delle tabelle dinamiche, ricorda con le giuste istruzioni SQL puoi estrarre quello che vuoi.
Ciao
Asorbanseo
-
scusami, parlavo delle condizioni...degli if
if rs.bof and rs.eof then ..non visualizzi niente... else ...visualizzi la tabella e la riempi...
-
Si avevo compreso....ma se il problema sono valori NULLI nei record, evita proprio di estrarli... secondo me potrebbe essere la via più semplice, cmq...rileggo il tuo codice e vedo se mi viene una soluzione per gli IF.
Ciao
-
Si questo lo dovresti mettere prima della tabella, quindi se il resultset è vuoto non vai vedere per niente la tabella, quindi lo metti prima di <table>.... Occhio a non lasciare tag di apertura o chiusura non allineati.
-
no, non sono valori nulli ma semplicemente i record che estraggo dal database...ossia dall'inserimento del form dell'utente.
il problema è che restano tutte le altre tabelle vuote...non essendo dinamichemi spiego meglio
form che compila l'utente
qt=1
codice=f001blc900b
descrizione=cartuccia brother...
difetto=stampa a righeho creato tante tabelle per lasciare la possibilita' all'utente di avere piu' campi possibili...il problema non risiede nel database..ma nell'output video della pagina...in visualizzazione...ho problemi poi a stampare..per la moltitudine di tabelle vuote che restano.
-
Credo che potresti fare come ti hanno detto in precedenza:
<%
IF Rs(quantita) ISNULL THEN
%>
<TD
style="BORDER-RIGHT: #1e3f75 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=34 height=29>
<P class=MsoNormal>
<font size="1"> <%Response.Write(quantita)%></font></P></TD>
<%
END IF
%>
<%
IF Rs(CODICE) ISNULL THEN
%>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=64 height=29>
<P class=MsoNormal><font size="1"> <%Response.Write(codice)%></font></P></TD>
<%
END IF
%>
...e così via....fai una prova....non ne sono molto sicuro !!!
Ciao
-
mi da questo errore:
Microsoft VBScript compilation error '800a03f9'
Expected 'Then'
/reportdb.asp, line 494
IF Rs(quantita) ISNULL THENforse sarebbe meglio la proprietà true o false?
sono proprio ingrippato ragazzi...ho realizzato cose molto piu difficili ma ora mi sono arenato.
-
Perchè non provi con if rs.bof and rs.eof then?
-
posto di nuovo il codice:
<%
IF Rs(quantita) IS NULL THEN
%>
<TD
style="BORDER-RIGHT: #1e3f75 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=34 height=29>
<P class=MsoNormal>
<font size="1"> <%Response.Write(quantita)%></font></P></TD><%
END IF
%>
<%
IF Rs(CODICE) IS NULL THEN
%>
<TD
style="BORDER-RIGHT: 0.75pt inset; PADDING-RIGHT: 1.5pt; BORDER-TOP: 0.75pt inset; PADDING-LEFT: 1.5pt; PADDING-BOTTOM: 1.5pt; BORDER-LEFT: 0.75pt inset; PADDING-TOP: 1.5pt; BORDER-BOTTOM: 0.75pt inset"
vAlign=top align=middle width=64 height=29>
<P class=MsoNormal><font size="1"> <%Response.Write(codice)%></font></P></TD>
<TDpero' in questo modo non trova la corrispondenza dei campi nel database:
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/reportdb.asp, line 506