Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [excel]conversioni Di Tempo

    Salve sto' lavorando su dei file di ms project-access-excel...collegamenti vari di esportazione di dati da uno all'altro.
    Ho questo problema, da ms project esporto una colonna che dovrebbe essere la durata in giorni, in questa colonna leggo 3 g (giorni) quando la esporto su excel leggo 14400 (??).La cella e' in formato generale ho provato varie formattazioni ma non ce ne salto fuori, come converto 14400 (non so che unita' sia) in 3 giorni?
    Grazie

  2. #2

    Re: [excel]conversioni Di Tempo

    Originariamente inviato da Max_p_72_n
    Salve sto' lavorando su dei file di ms project-access-excel...collegamenti vari di esportazione di dati da uno all'altro.
    Ho questo problema, da ms project esporto una colonna che dovrebbe essere la durata in giorni, in questa colonna leggo 3 g (giorni) quando la esporto su excel leggo 14400 (??).La cella e' in formato generale ho provato varie formattazioni ma non ce ne salto fuori, come converto 14400 (non so che unita' sia) in 3 giorni?
    Grazie
    fai una cosa scrivi qua anche che valore esce quando metti 1 e 2 gg
    *** 300.000 BRIGANTI ***
    Tempo fa qualcuno diceva che gli italiani sono meglio di chi li governa, ma la verità è che sono peggio...

  3. #3
    Moderatore di Windows e software L'avatar di darkkik
    Registrato dal
    Dec 2003
    residenza
    Pavia - Milano - Lodi.
    Messaggi
    11,476
    Dividi per 4800?
    I can see much clearer now, I'm blind.
    Io fui già quel che voi siete, Quel ch'io son voi anco sarete.
    Remember that death is not the end, but only a transition
    All that we learn this time is carried beyond this life.

  4. #4
    Cavoli e' vero !!!
    ma per quale motivo? che unita' sarebbe?

    il file Project non e' mio.Dando un occhiata ai valori esportati su excel mi sono accorto anche di un altra cosa, ho due colonne con valori che mi sembravano uguali invece ora vedo che in alcuni casi sono diversi...

    questi i valori trovati su due colonne contigue (il primo valore e' quello che stavo prendendo in

    considerazione):
    1 giorno = 9600 / 4800
    2 giorni = 9600 / 9600
    3 giorni = 14400 / 14400
    4 giorni = 24000 / 19200
    30 giorni = 7200 / 144000

    il problema che mi si pone ora e' qual'e' la colonna esatta che devo esportare?
    Su vba/excel ho scritto, con una macro, tutti i valori delle variabili, dove, non sapendo le colonne da

    esportare, sto' purtroppo andando a tentatvi nel trovare i campi esatti da esportare.
    Avrei bisogno che la macro magari mi scrivesse oltre i valori anche l'intestazione delle mie colonne cosi' saprei di preciso quali sto' esportando, ma non so come fare.
    il codice che ho usato per esportare i campi su vba/ecel e' questo:

    codice:
    Sub Add_MSProjectTask_estrazione_tutti_campi()
                
                Sheets("VARIABILI").Select
                ActiveCell.Select
                
                Dim x
            For x = 0 To 318 
    'ho messo 318 in quanto mettendo 500 al 319 dava errore 
    'e non proseguiva la macro, quindi credo si arrivi al massmo a 318
            'MsgBox (PjtObjTsk.Fields(x))
            ActiveCell.FormulaR1C1 = PjtObjTsk.Fields(x)
            ActiveCell.Offset(1, 0).Select
                   
               Next x
               ActiveCell.Offset(-319, 1).Select
        
    End Sub
    premetto che devo esportare il tutto su una tabella di access tramite una macro che mi hanno passato e di cui non conosco il funzionamento esatto, non essendo espertissimo di access mi sono basato apapunto nello scrivere prima le variabili su excel per capire cosa esportavo.
    il codice presente prima della macro sopra e' questo:

    codice:
    Option Explicit
    
    Global cnnDB1 As ADODB.Connection
    Global rstMOP As ADODB.Recordset
    Global rstMOP_Detail As ADODB.Recordset
    Global PjtObjTsk As New ADODB.Recordset
    Global nOrderNumber As Long
    Public ExcelApp As Excel.Application
    
    Sub Read_xxxx_Projects()
        Dim nAreaCount As Long
        Dim strMSProject As String
        Dim strDestMSProject As String
        Dim strSqlSel As String
        Dim fs
        Dim f
        Dim f1
        Dim fc
        Dim s
    
    
        Set ExcelApp = GetObject(, "Excel.Application")
    
    
        Set cnnDB1 = New ADODB.Connection
       
        strDBPath = "C:\dati\mdb\Doku-ITA.mdb"
    
        With cnnDB1
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .Mode = adModeReadWrite 
            .Open strDBPath
        End With
    
        Set rstMOP_Detail = New ADODB.Recordset
        rstMOP_Detail.CursorType = adOpenKeyset
        rstMOP_Detail.LockType = adLockOptimistic
        rstMOP_Detail.Open "xxxx_MSProjekt_Task", cnnDB1, , , adCmdTable
    
    
        strMSProject = "C:\dati\dati"
        strDestMSProject = "C:\dati\dati"
    
        Set fs = CreateObject("Scripting.FileSystemObject") 
    
        If fs.FolderExists(strMSProject) Then
            Set f = fs.GetFolder(strMSProject)
            Set fc = f.Files
    
            For Each f1 In fc
    
                nOrderNumber = 1
    
                ' Create a connection to MS-Project-files
                Set cnnDB = New ADODB.Connection
    
    cnnDB.ConnectionString = "Provider=Microsoft.Project.OLEDB.11.0;PROJECT NAME=" & 
    strMSProject & "\" & f1.Name
               
                cnnDB.ConnectionTimeout = 30
                cnnDB.Open
                strSqlSel = "SELECT * FROM Tasks "
                PjtObjTsk.Open strSqlSel, cnnDB
    
                Do While Not PjtObjTsk.EOF
    
                    ' Add a new detail-record on the access-database-table
                    Add_xxxx_MSProjectTask
    
                    ' Move to the next MS-Project-task
                    PjtObjTsk.MoveNext
                    
                    ' increment the ordernumber
                    nOrderNumber = nOrderNumber + 1
    
                Loop
                PjtObjTsk.Close
                cnnDB.Close
                If cnnDB.State <> 0 Then cnnDB.Close
                Set cnnDB = Nothing
    
            Next
        End If
        MsgBox " end "
        cnnDB1.Close
          
    End Sub

  5. #5
    Originariamente inviato da Max_p_72_n

    questi i valori trovati su due colonne contigue (il primo valore e' quello che stavo prendendo in

    considerazione):
    1 giorno = 9600 / 4800
    2 giorni = 9600 / 9600
    3 giorni = 14400 / 14400
    4 giorni = 24000 / 19200
    30 giorni = 7200 / 144000
    devi prendere i valori della seconda colonna e dividerli per 4800...questo è sicuro
    *** 300.000 BRIGANTI ***
    Tempo fa qualcuno diceva che gli italiani sono meglio di chi li governa, ma la verità è che sono peggio...

  6. #6
    si' hai ragione tutti i risultati tornano dividendo x 4800.
    Ci sarebbe la maniera per ottenere il l'intestazione delle mie colonne? come chiesto prima.
    grazie

  7. #7
    Originariamente inviato da Max_p_72_n
    si' hai ragione tutti i risultati tornano dividendo x 4800.
    Ci sarebbe la maniera per ottenere il l'intestazione delle mie colonne? come chiesto prima.
    grazie
    dovresti chiedere nella sezione programmazione
    *** 300.000 BRIGANTI ***
    Tempo fa qualcuno diceva che gli italiani sono meglio di chi li governa, ma la verità è che sono peggio...

  8. #8
    ok grazie

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.