Newsgroup: it.comp.www.asp
Titolo: Problemi di codice

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

 
Ma ne abbiamo già parlato no?
Io ti consigliavo di fare UNA query su entrambe le tabelle con JOIN.