Newsgroup: it.comp.lang.visual-basic
Titolo: Problemi di codice VBSCRIPT

Salve a tutti,
devo estrarre da un DB che raccoglie i medicinali di una clinica ogni
paziente ed i relativi medicinali. Nell DB ho una tabella con i medicinali
ed in piu' un campo ID angrafica che punta alla tabella delle anagrafiche.
Il codice che ho realizzato é questo ma il prob č che mi estre nella pagina
solo i medicinali del primo paziente e poi l'elenco di tutti i restanti uno
dopo l'altro senza medicinali...in pratica il ciclo do while dei medicinali
annidato in quello dei pazienti me lo esegue solo una volta...
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/conn.asp" -->
<%
set rs_anagrafiche = Server.CreateObject("ADODB.Recordset")
rs_anagrafiche.ActiveConnection = MM_cartelle_cliniche_STRING
rs_anagrafiche.Source = "SELECT *  FROM tab_anagrafiche  WHERE
data_dimissione is null  ORDER BY cognome ASC"
rs_anagrafiche.CursorType = 0
rs_anagrafiche.CursorLocation = 2
rs_anagrafiche.LockType = 3
rs_anagrafiche.Open()
rs_anagrafiche_numRows = 0
%>
<%
set rs_medicinali = Server.CreateObject("ADODB.Recordset")
rs_medicinali.ActiveConnection = MM_cartelle_cliniche_STRING
rs_medicinali.Source = "SELECT *  FROM tab_terapia_farmacologica,
tab_anagrafiche  WHERE tab_terapia_farmacologica.ID_anagrafica like
tab_anagrafiche.ID_anagrafica AND  in_uso LIKE 'SI'"
rs_medicinali.CursorType = 0
rs_medicinali.CursorLocation = 2
rs_medicinali.LockType = 3
rs_medicinali.Open()
rs_medicinali_numRows = 0
%>
<html>
<head>
<title>Medicinali</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0"
marginwidth="0" marginheight="0">
<table width="650" border="0" cellspacing="0" cellpadding="0" height="60">
  <tr>
    <td valign="top" height="55">
      <table width="650" border="0" cellspacing="0" cellpadding="0"
height="60">
        <tr>
          <td valign="top" width="150" height="31"><img
src="Immagini/logo.gif" width="150" height="60"></td>
          <td width="500" valign="top" height="31">
            <table width="500" border="0" cellspacing="0" cellpadding="0"
height="60">
              <tr>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td height="30">
                  <div align="center"><font face="Times New Roman, Times,
serif" size="2"><b><font size="3">Elenco
                    medicinali aggiornato al
                    <% Response.Write Date %>
                    ore
                    <% Response.Write Time %>
                    </font> </b></font></div>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table width="650" border="0" cellspacing="0" cellpadding="0" height="20">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
<%
Do While NOT rs_anagrafiche.EOF
%>
<table width="650" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="4" valign="top">
      <table width="650" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td>
<%Response.Write(rs_anagrafiche.Fields.Item("cognome").Value)%></td>
        </tr>
      </table>
      <table width="650" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td>
<%
Do While
((rs_medicinali.Fields.Item("ID_anagrafica").Value=rs_anagrafiche.Fields.Ite
m("ID_anagrafica").Value) AND (NOT rs_medicinali.EOF))
Response.Write(rs_medicinali.Fields.Item("medicamenti").Value)
rs_medicinali.MoveNext()
Loop
%>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<%
rs_anagrafiche.MoveNext()
Loop
%>
</body>
</html>
<%
rs_anagrafiche.Close()
%>
<%
rs_medicinali.Close()
%>
Grazie in anticipo a tutti
Michele

 Loop
Io metterei:
Do While (NOT rs_medicinali.EOF)
if
(rs_medicinali.Fields.Item("ID_anagrafica").Value=rs_anagrafiche.Fields.Item
("ID_anagrafica").Value) then


 Loop
Dimenticavo:
Metti un rs_medicinali.MoveFirst prima del Do While
Alberto

Innanzitutto grazie per il consiglio ho provato la tua soluzione ma mi da'
un errore secondo cui il LOOP non ha il suo relativo DO
Grazie ed a presto


 un errore secondo cui il LOOP non ha il suo relativo DO
Non sarai per caso andato a capo dopo il then?
Alberto

scusate l'intromissione, manca un "end if"...
rs_medicinali.MoveFirst
Do While (NOT rs_medicinali.EOF)
if
(rs_medicinali.Fields.Item("ID_anagrafica").Value=rs_anagrafiche.Fields.Item("ID_anagrafica").Value)
then
Response.Write(rs_medicinali.Fields.Item("medicamenti").Value)
endif
rs_medicinali.MoveNext()
Loop
--------------------------------
Inviato via 
http://usenet.libero.it

 Il codice che ho realizzato é questo ma il prob è che mi estre nella
