Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506

    Estraggo DB1 - Leggo DB2 ma voglio ordinare per DB2

    Ciao a tutti.
    Ho due database. Uno leggo dei dati, poi per ogni record mi collego ad un secondo database e leggo un prezzo. Il problema risiede nel fatto che non posso così ordinare per prezzo l'estrazione. Qualcuno sa darmi una mano?

    codice:
    ...
    sql = "SELECT * FROM A WHERE DUE='"&M2&"' and tre='"&M3&"' and quattro='"&M4&"' "
    ...
    ' quindi leggo un campo
    CODICE=RS("CODICE")
    
    ' Poi mi connetto ad un altro database
    ...
    sql2 = "SELECT * FROM A WHERE id="&codice&""
    e qui leggo il prezzo
    prezzo=rs2("prezzo")
    ...
    Ma io vorrei ordinare per Prezzo.
    Qualcuno sa darmi una dritta?
    Grazie mille!!!

    PS: Uso Access

  2. #2
    devi utilizzare una tabella di appoggio
    crei la tabella con i campi che ti interessa

    CODICE
    prezzo
    IDSESSION
    e se ce ne sono degli altri

    poi riempi questa tabella con i dati che tiri fuori così puoi ordinare anche per prezzo.

    Attenzione solo che se è un'operazione che possono fare più utenti allora devi mettere anche id sessione almeno non si intrecciano i dati

  3. #3
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao robbe. Grazie mille del consiglio!

    Purtroppo però non posso manipolare il contenuto delle tabelle che ho già. Anche perchè devo ordinare per prezzo, ma se dopo l'utente volesse ordinare per un altro valore del secondo db devo poterlo fare.

    Mi servirebbe un metodo per, in fase di estrazione dei record, ordinare in base al contenuto della seconda tabella.

  4. #4
    non so se ho capito bene
    comunque puoi salvare tutto in un array e poi ordini quello,
    non tocchi le tabelle
    e hai ciò che ti serve ordinato come ti serve...ma ovviamente è molto più impegnativo sia per te che per il server ^_^

  5. #5
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao Grambo, grazie mille. Purtroppo mettere tutto in un array, considerando che sono molti record e parecchie query diventa troppo pesante per il server.

    Qualche altra dritta?

  6. #6
    i due db si possono interrogare assieme

    ----------------------------------------------------
    SELECT campi FROM tabella IN 'C:\percorso\database.MDB'

    http://forum.html.it/forum/showthrea...t=join+diversi

    SELECT T1.*, T2.* FROM tabella_interna T1, tabella_esterna IN C:\PATH\ALTRODB.MDB T2

    lasciati ispirare da questo esempio
    SELECT TF.DESCRIZIONE FROM [C:\DBS\DB2.MDB].FATTURE TF INNER JOIN CLIENTI TC ON TF.CLIENTE=TC.CODICE
    ----------------------------------------------------

  7. #7
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao Optime. Grazie per la risposta!
    Effettivamente sono alle prese con questo problema da parecchio tempo e mi avevi già risposto qualche tempo fà, ma non sono ancora riuscito a risolvere poichè la query è abbastanza complessa.

    Comuqnue ora ci riprovo. Ti faccio sapere. Grazie!!!

  8. #8
    posta la query che le si dà un'occhiata

  9. #9
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao Optime, grazie mille!!! Allora provo a rimuovere tutto il superfluo per non postare duecento righe incomprenibili:

    codice:
    Dim Conn:Set Conn = Server.CreateObject("ADODB.Connection"):Conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\Inetpub\vhosts\sito.com\httpdocs\db\a.mdb"
    Dim rs1:Set rs1 = Server.CreateObject("ADODB.Recordset") 
    
    
    IF stagione<>"" THEN
    scrivistagione=" AND B2ATIP='"&left(stagione,1)&"' "
    END IF
    
    IF spromo<>""  THEN
    Scrivipromo=" AND (B2ATPR='P' OR B2ATPR='T') "
    end if
    
    
    sql = "SELECT * FROM A WHERE DUE='"&M2&"' "&SCRIVIM3&SCRIVIM4&SCRIVIM5&SCRIVIM0&scrivistagione&ScriviDISP&ScriviPROMO
    
    rs1.open SQL, conn, 3, 3
    
    B2AART=rs1("B2AART") 
    Set Conn2 = Server.CreateObject("ADODB.Connection") 
    Conn2.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\Inetpub\vhosts\sito.com\httpdocs\db\db2.mdb"
    Set rs2 = Server.CreateObject("ADODB.Recordset") 
    qry2 = "Select * from AA where B2BART='"&B2AART&"'"
    rs2.open qry2,Conn2,3,3
    
    ...
    Ecco, più o meno è questo (ho rimosso un po' di codice). Che ne dici? secodno te è fattibile?

  10. #10
    puoi mettere in join A e AA seguendo l'esempio che ti ho postato

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.