Modifica query



  • Modifica query
    di Fa (utente non iscritto) data: 13/09/2013 18:30:04

    Salve premetto che non sono molto pratico nè di Excel Nè di VBA.
    Ho un problema di questo tipo tramite una Macro vorrei sostituire alcuni valori di una query con i dati presenti in una cella di Excel.
    Nella query sottostante vorrei cambiare il valore 14 con un'altro dato presente in una cella di Excel. Se è possibile come posso fare?
    Grazie
     
     With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
            "ODBC;DSN=PITECOEVO;Description=PITECOEVO;UID=PITECOEVO;;APP=Microsoft Office 2010;WSID=PC-FKOURENNOI;DATABASE=PITECOEVO;" _
            , Destination:=Range("Tabella!$A$1")).QueryTable
            .CommandText = Array( _
            "SELECT p2dipo00.SOCIETA, p2dipo00.CODICERC, p2dipo00.NRDISTINTA, NUMEF, IMPEFF, CODCLIFOR, p2port00.RAGSOC1, p2dipo00.DATAINS, impnoca , PERCINS, CAST (ROUND(Impnoca * (PERCINS/100), 2)as numeric (36," _
            , _
            "2)) , cast (round(IMPEFF * (PERCINS/100), 2) as numeric(36,2)) " & Chr(13) & "" & Chr(10) & "FROM P2dipo00,p2port00" & Chr(13) & "" & Chr(10) & "WHERE p2dipo00.SOCIETA = p2port00.SOCIETA and p2dipo00.nrdistinta = p2port00.nrdistinta and p2dipo00.codicerc =" _
            , _
            " p2port00.codicerc and p2dipo00.datains = p2port00.dataagg and p2dipo00.SOCIETA='1001'  and p2dipo00.nrdistinta like '%14%' and p2dipo00.codicerc='credem sbf' order by p2dipo00.codicerc" & Chr(13) & "" & Chr(10) & "" _
            )
            .RowNumbers = False



  • di Grograman data: 13/09/2013 18:40:10

    Con beneficio di inventario non avendo file o codice completo:
     
    Dim x As Variant
    x = Range("A1").Value
     With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
            "ODBC;DSN=PITECOEVO;Description=PITECOEVO;UID=PITECOEVO;;APP=Microsoft Office 2010;WSID=PC-FKOURENNOI;DATABASE=PITECOEVO;" _
            , Destination:=Range("Tabella!$A$1")).QueryTable
            .CommandText = Array( _
            "SELECT p2dipo00.SOCIETA, p2dipo00.CODICERC, p2dipo00.NRDISTINTA, NUMEF, IMPEFF, CODCLIFOR, p2port00.RAGSOC1, p2dipo00.DATAINS, impnoca , PERCINS, CAST (ROUND(Impnoca * (PERCINS/100), 2)as numeric (36," _
            , _
            "2)) , cast (round(IMPEFF * (PERCINS/100), 2) as numeric(36,2)) " & Chr(13) & "" & Chr(10) & "FROM P2dipo00,p2port00" & Chr(13) & "" & Chr(10) & "WHERE p2dipo00.SOCIETA = p2port00.SOCIETA and p2dipo00.nrdistinta = p2port00.nrdistinta and p2dipo00.codicerc =" _
            , _
            " p2port00.codicerc and p2dipo00.datains = p2port00.dataagg and p2dipo00.SOCIETA='1001'  and p2dipo00.nrdistinta like '%" & x & "%' and p2dipo00.codicerc='credem sbf' order by p2dipo00.codicerc" & Chr(13) & "" & Chr(10) & "" _
            )
            .RowNumbers = False


  • Modifica query
    di fabio (utente non iscritto) data: 13/09/2013 19:05:15

    Ciao Grazie ne approfitto e se la cella fosse in un altro foglio di excel?


  • RISOLTO
    di fabio (utente non iscritto) data: 02/10/2013 16:17:48

    Scusate bypassati tutti questi problemi esiste un modo di inserire la password in automatico senza che ogni volta me la richieda. Questa è la stringa che utillizzo



     
     Dim x As Variant
         x = Range("Conto!$E$7").Value
         Dim y As Variant
         y = Range("Conto!$D$7").Value
        Sheets("Tabella").Select
        Call pulisci
        With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
            "ODBC;DSN=PITECOEVO;Description=PITECOEVO;UID=PITECOEVO;;APP=Microsoft Office 2010;WSID=PC-Flampo;DATABASE=PITECOEVO;" _
            , Destination:=Range("Tabella!$A$1")).QueryTable
            .CommandText = Array( _
            "SELECT p2diaf00.SOCIETA, p2diaf00.CODICERC as BANCA , p2diaf00.nrdistinta, NRDOC, IMPSOC as IMPORTO , p2RCSD00.RAGSOC, p2diaf00.DATAINS, imppartsoc as TOT_DISTINTA, PERcpres as PERCENTUALE, CAST (ROUND(imppartsoc * (PERCpres/100), 2)as numeric (36,2" _
            , _
            ")) as DIST_ANTICIPATA , cast (round(IMPsoc * (PERCpres/100), 2) as numeric(36,2)) as FATTURA_ANTICIPATA " & Chr(13) & "" & Chr(10) & "FROM P2diaf00,p2rcsd00" & Chr(13) & "" & Chr(10) & "WHERE p2diaf00.SOCIETA = p2rcsd00.SOCIETA and p2diaf00.nrdistinta = p2rcsd00.nrdistinta and p2diaf00.codicerc =" _
            , _
            " p2rcsd00.codicerc and p2diaf00.datains = p2rcsd00.dataagg and p2diaf00.codicerc like '%" & y & "%' and p2diaf00.nrdistinta like '%" & x & "%' and p2diaf00.SOCIETA='1001'" _
            )
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .ListObject.DisplayName = "Tabella_Query_da_PITECOEVO66"
            .Refresh BackgroundQuery:=False
        End With
    End Sub