Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    170

    consiglio ricerca multi Db access

    Ciao devo fare una ricerca per cognome ma ho 15 db su cui cercarlo

    come procedo?

    Mi serve solo una indicazione grazie!!!!!!!!!!
    I migliori teologi delle principali religioni della terra mettono in rete 10.000 supercomputers, caricati con la base di conoscenza umana e pongono la fatidica domanda:
    - Dio esiste? Il mostro dalle 10.000 teste ci ragiona sopra per 7 giorni e poi risponde: "ORA SI!"

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    ti connetti ad ogni db e cerci...

    a meno che non vuoi darci qualche informazione in più... tipo l'organizzazione dei db, le tabelle coinvolte ect.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    170
    scusa sono stato limitato nelle informazioni

    come organizzo i cicli if then?

    apro conn db1
    apro rs
    if cognome = strcognome then
    codice
    response.end
    else
    chiudo rs
    chiudo connessione
    end if

    apro conn db1
    apro rs
    if con...
    ...
    ...
    end if


    va cosi?
    grazie
    I migliori teologi delle principali religioni della terra mettono in rete 10.000 supercomputers, caricati con la base di conoscenza umana e pongono la fatidica domanda:
    - Dio esiste? Il mostro dalle 10.000 teste ci ragiona sopra per 7 giorni e poi risponde: "ORA SI!"

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Ma i db sono tutti uguali o no ? e i nomi delle tabelle?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    170
    ECCO IL CODICE MA MI DA aRGUMENTS ARE THE WRONG TYPE NELLA RIGA DEL
    Objrs.open


    <%

    StrCognome = Request.Querystring("Cognome")

    Dim ObjConn

    Set ObjConn = Server.CreateObject("ADODB.Connection")
    ObjConn.Open "driver={Microsoft Access Driver (*.mdb)};DBQ= " & Server.Mappath ("/mdb-database/db5.mdb")

    Dim Objrs, StrSql



    Set Objrs = Server.CreateObject("ADODB.Recordset")
    Strsql= "SELECT * FROM anagrafica WHERE cognome = " & StrCognome
    Objrs.Open ObjConn, StrSql, Adopenstatic, Adlockoptimistic

    if Objrs("Cognome") = Strcognome then
    Response.Write ("trovato")
    Response.end
    else
    ObjRs.Close
    Set Objrs = nothing
    ObjConn.Close
    Set Objconn = nothing
    end if

    Dim Objrs2, StrSql2

    Strsql2= "Select * FROM anagrafica WHERE cognome = " & StrCognome

    Set Objrs2 = Server.CreateObject("ADODB.Recordset")

    Objrs2.Open ObjConn2, StrSql2, Adopenstatic, Adlockoptimistic

    if Objrs2("Cognome") = Strcognome then
    Response.Write ("trovato")
    Response.end
    else
    ObjRs2.Close
    Set Objrs2 = nothing
    ObjConn2.Close
    'Set Objconn2 = nothing
    'end if
    %>
    I migliori teologi delle principali religioni della terra mettono in rete 10.000 supercomputers, caricati con la base di conoscenza umana e pongono la fatidica domanda:
    - Dio esiste? Il mostro dalle 10.000 teste ci ragiona sopra per 7 giorni e poi risponde: "ORA SI!"

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Scusa, ma tu apri 15 connessioni insieme? ObjConn ObjConn1 ect.. sono tutti oggetti ado aperti e connessi?

  7. #7
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Fai così :
    codice:
    Class cSearch
    	Private ConnPoll
    	Private Conn
    
    	Public Text
    	Public Result
    	Public Find
    	
    
    	Private Sub Class_Initialize()
    
    		Set ConnPoll=Server.CreateObject("ADODB.Recordset")
    		ConnPool.Fields.Append "ConnString",200,-1
    		ConnPool.Fields.Append "Sql",200,-1
    		ConnPool.Fields.Append "SearchIn",200,-1
    		ConnPool.Open()
    		Set Conn = Server.CreateObject("ADODB.Connection")
    	End Sub
    	
    	Public Function Add(ConnString,Sql,SearchIn)
    		ConnPool.AddNew
    			ConnPool("ConnString")=ConnString
    			ConnPool("Sql")=Sql
    			ConnPool("SearchIn")=SearchIn
    		ConnPool.Update()
    	End Function
    
    	Private function goSearch(ConnString,Sql,SearchIn)
    		Conn.ConnectionString = ConnString
    		Conn.Open()
    		Set Result=Conn.Execute(Sql & " WHERE " & SearchIn & "='" & Text & '")	
    		goSearch = Not Result.EOF
    		Conn.Close()
    	End function
    
    	Public Function Go()
    		Find=False
    		ConnPool.MoveFirst()
    		Do While Not ConnPool.EOF
    			Find = goSearch(ConnPool("ConnString"),ConnPool("Sql"),ConnPool("Field")) 
    			If Find then Exit Do
    			ConnPool.MovNext
    		Loop
    	End Function
    
    
    	Private Sub_Class_Terminate()
    		ConnPool.Close()
    		Set ConnPool=Nothing
    		Set Conn = Nothing
    	End Sub
    End Class
    
    '************************************
    '** MAIN
    '************************************
    
    Set oSearch = new cSearch
    oSerach.Text = "Baol"
    oSearch.Add "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/intpub/wwwroot/database1.mdb;","SELECT * FROM ANAGRAFICA","COGNOME"
    oSearch.Add "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/intpub/wwwroot/database2.mdb;","SELECT * FROM ANAGRAFICA","COGNOME"
    oSearch.Go()
    If oSearch.Find then
    'oSearch.Result troverai il tuo Recordset e potrai stamparlo
    else
     Response.Write("Nessun valore trovato")
    End If
    Set oSearch = Nothing
    Poi modificare le stringhe di connessione, e mettere una select fissa ne caso sia sempre uguale .....

    PS:

    Adopenstatic, Adlockoptimistic non si usano per una ricerca. Già access è lento, se poi metti questi cursori ti si incarta il sito.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.