Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/10/2008, 00:10
Jamlet
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Una última dudilla

Os pongo el código de la página por si pudiera servir de algo porque ya no sé que hacer:

Código PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%
'Conectarse a la base
Dim Conn, ConnStr

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
ConnStr = ConnStr & Server.MapPath("data/bodegas.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeReadWrite
Conn.ConnectionString = ConnStr
Conn.Open

'Realizar consulta SQL y obtener Recordset DE Areas Geográficas
Dim strSQLprovincias
strSQLprovincias = "SELECT DISTINCT provincias.* FROM provincias INNER JOIN ciudades ON provincias.iDProvincia = ciudades.ProvinciaCiudad"

Set rsprovincias = Server.CreateObject("ADODB.Recordset")
rsprovincias.Open strSQLprovincias, Conn, 1

dim fso, archivo
Set fso = createobject("scripting.filesystemobject")
Set archivo = fso.CreateTextFile(Server.MapPath("xml/bodegas.xml"), True)

archivo.WriteLine("<?xml version='1.0' encoding='UTF-8'?>")
archivo.WriteLine("<bodegas>")

If rsprovincias.RecordCount = 0 Then
    '***no hay provincias con ciudades asociados => xml vacío /***
    archivo.WriteLine("</bodegas>")    
Else
    rsprovincias.MoveFirst
    'Bucle Do While #1 - para cada Provincia
    Do While Not rsprovincias.EOF
    
        'escribimos el nodo XML
        archivo.WriteLine("<provincia pNombre='" & rsprovincias("NombreProvincia") & "' iD='" & rsprovincias("iD") & "'>")
        
        'buscamos las ciudades de la provincia que tengan empresas, sin duplicados: DISTINCT
        strSQLciudades = "SELECT DISTINCT ciudades.* FROM ciudades INNER JOIN empresas ON " & _
        "ciudades.iDCiudad = empresas.CiudadEmpresa WHERE ciudades.ProvinciaCiudad =" & rsprovincias("iDProvincia")

        Set rsciudades = Server.CreateObject("ADODB.Recordset")
        rsciudades.Open strSQLciudades, Conn, 1
        
        If rsciudades.RecordCount <> 0 Then
        
            'Bucle Do While #2 - para cada Ciudad
            Do While Not rsciudades.EOF
            
                'escribimos el nodo XML
                archivo.WriteLine("<ciudad cNombre='" & rsciudades("NombreCiudad") & "' iD='" & rsciudades("iD") & "' X='" & rsciudades("valorX") & "' Y='" & rsciudades("valorY") & "'>")
                
                'buscamos las empresas de la ciudad
                strSQLEmpresa = "SELECT empresas.* FROM empresas WHERE CiudadEmpresa=" & rsciudades("iDCiudad")
                
                Set rsEmpresa = Server.CreateObject("ADODB.Recordset")
                rsEmpresa.Open strSQLEmpresa, Conn, 1
                
                If rsEmpresa.RecordCount <> 0 Then
                
                    'Bucle Do While #3 - datos de cada empresa
                    Do While Not rsEmpresa.EOF
                
                        'escribimos el nodo XML
                        archivo.WriteLine("<empresa eNombre='" & rsEmpresa("NombreEmpresa") & "' iD='" & rsEmpresa("iD") & "'>" & "<nombre>" & rsEmpresa("NombreEmpresa") & "</nombre>" & "<direccion>" & rsEmpresa("DireccionEmpresa") & "</direccion>" & "<telefono>" & rsEmpresa("TelefonoEmpresa") & "</telefono>")
                        
                        'cerramos el nodo de cada Representante
                        archivo.WriteLine("</empresa>")
                        rsEmpresa.MoveNext    
                    Loop
                    'cerramos y destruimos el recordset de Representantes
                    rsEmpresa.Close
                    Set rsEmpresa = Nothing
                End If
            
                'cerramos el nodo de cada País
                archivo.WriteLine("</ciudad>")
                rsciudades.MoveNext
            Loop
            
            'cerramos y destruimos el recordset de Países
            rsciudades.Close
            Set rsciudades = Nothing
        End If
        
        'cerramos el nodo de cada Area
        archivo.WriteLine("</provincia>")
        rsprovincias.MoveNext
    Loop
    
    'cerramos y destruimos el recordset de Areas
    rsprovincias.Close
    Set rsprovincias = Nothing
    
    'cerramos el nodo principal
    archivo.WriteLine("</bodegas>")
    archivo.Close
End If

'cerramos la conexión
Conn.Close
Set Conn = Nothing
%>