Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao Gibra,
    mi sono accorto rileggendo il forum che il componente che tu mi consigli di utilizzare per rappresentare il planing è MSHFlexGrid, io invece avevo scaricato vbalgrid dal sito www.vbaccelerator.com ma giustamente le proprietà cambiano

    ora ho scaricato il componente MSHFlexgrid e le proprietà che mi dicevi prima ci sono!!!
    Ora continuo con questo componente consigliato da te!

    Grazie per l'aiuto!


  2. #12
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao a tutti,
    diciamo che la parte di visualizzazione dei dati è finita, vedo il mio planning dove sulle righe o le macchine e sulle colonne i giorni....
    sono riuscito a unire le celle con la funzione sugeritami da Gibra, MergeRow.

    Ora entro nella parte piu difficile

    Dunque il planning si compone prendendo i dati dalla tabela DETT_PLANNING cosi composta:
    n_fase
    n_pn
    n_mac
    riga (di visualizzazione sul planning)
    data_inizio *
    data_fine *
    *dove data_inizio e data_fine indicano l'inizio e la fine del segmento che visualizzo sul planning

    il planning ha una vista di 3 mesi, percio per popolarlo eseguo una query che mi trova i record che si devono visualizzare dove i campi data_inizio e data_fine siano compresi in questi 3 mesi e fino a qua tutto ok!

    Il problema è che loro completeranno un form dove scelgono il pn, scrivono il totale dei pezzi da lavorare e per ogni fase devono:
    -scegliere su quale macchina lavorare
    -indicare quanti pezzi minimi alla volta devono fare (nel senso che se per fare un pezzo ci vuole 1 ora e loro decidono di fare almeno 5 pezzi alla volta, io devo trovare il primo giorno che la macchina ha almeno 5 ore disponibili, perche altrimenti, se non mettiamo questa condizione, se ci sono 5 giorni che hanno 1 ora di buca lui inserirà 1 ora per tutti i 5 giorni! )

    Poi in un altra tabella TEMPO_PM ho il dettaglio dei pn con i seguenti campi:
    pn
    n_fase
    n_mac
    tempo (di lavorazione per fare un solo pezzo).

    E qua il dubbio:
    io ho strutturato la tabella che crea il planning con i campi data_inizio e data_fine, cosi ho un solo record per i vari segmenti, pero come posso fare a inserire gli altri record tenendo conto di quello che ho scritto prima?
    Non è piu facile (anche se creo troppi record) creare un record per ogni giorno inserendo quante ore quella fase lavora su quella macchina?

    Grazie!

  3. #13
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao a tutti, sono quasi al buono del programma, ora un problema che mi sta facendo diventar pazzo!

    Dunque eseguo un ciclo che parte dal giorno stesso (oggi) fino a quando non finisco i pezzi di lavorazione, eseguo una query che mi deve controllare se il giorno è conpreso tra i record della mia tabella DETT_PLANNING

    codice:
    ...
    
    Set conn = New ADODB.Connection
            Set rs = New ADODB.Recordset
            conn.Open CN_DB_PLA
            
            SQL = "SELECT data_inizio, data_fine, ore_in, ore_fin FROM DETT_PLANNING WHERE n_mac ='" & MACCHINA(i).List(MACCHINA(i).ListIndex) & "' AND ('" & Format(giorno, "MM/DD/YYYY") & "'  Between ('data_inizio') And ('data_fine')) ;"
            
            
            rs.Open SQL, conn
            
            'SE LA MACCHINA NON è OCCPUTATA
            If rs.EOF Then
                'ALLORA TROVO LA QUANTITà MASSIMA CHE POSO FARE NELLA GIORNATA E LA CARICO
    
    
    ....
    Il problema è che la query non si accorge quando la variabile giorno è compresa tra i campi del record data_iniziale e data_finale!

    Ho segnato in rosso quello che non va, io devo controllare la mia variabile giorno se è compresa tra i campi data_inizio e data_fine, questi campi sono di tipo data in cifre

    Grazie!


  4. #14
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Database ?

    A parte questo, invece di usare il vecchio metodo di scrivere stringhe SQL lunghe e complicate (sia da scrivere che da leggere)
    è caldamente raccomandato l'uso di Command e Parametri:
    - Semplifica la vita
    - migliora la leggibilità del codice
    - si evitano TUTTI i problemi di formattazione

    Guarda il mio articolo su ADODB (nella firma).

    :bye:

  5. #15
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao Gibra, ho risolto, dovevo aggiungere # prima e dopo la variabile!!

    Secondo me non è tanto complicato, basta conoscere bene sql e il gioco è fatto!
    Cmq stasera guardo molto volentieri il tuo articolo!

    Grazie come sempre!!


  6. #16
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao a tutti sono di nuovo qui a chiedere il vostro aiuto!
    Sono quasi alla fine del programma, ho rispettato abbastanza i tempi

    Per velocizzare il programma quando colora le varie celle, è possibile in una sola istruzione colorare un intervallo di celle sulla stessa riga?
    Ora eseguo un for da colonna a colonna e se ci sono diverse pianificazioni è un po lento!

    Grazie!


  7. #17
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ciò avviene perchè ad ogni modifica, il controllo viene ridisegnato completamente.
    In questi casi di solito l'uso della funzione LockWindowUpdate risolve egregiamente il problema.

    In un modulo BAS aggiungi la dichiarazione:
    codice:
    Public Declare Function LockWindowUpdate Lib "user32.dll" (ByVal hwndLock As Long) As Long
    dopo la puoi usare dove sai di modificare qualcosa 'pesantemente'.

    codice:
    LockWindowUpdate mshflexgrid1.hWnd
    '
    ' ciclo di elaborazioni pesante
    '
    LockWindowUpdate 0
    La prima chiamata disattiva il disegno , la seconda lo riattiva ed esegue il refresh

    Attento che non puoi annidare le chiamate di LockWindowUpdate, ma devono essere sempre consecutive ed in coppia.
    Vedi la guida di Microsoft per i dettagli.


  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    San Gibra!!

    Come al solito ne sai una in più del diavolo!

    Funziona perfettamente!

    Grazie!

  9. #19
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da androita
    San Gibra!!

    Guarda che i santi sono tutti morti.

    Originariamente inviato da androita
    Come al solito ne sai una in più del diavolo!
    O sono un santo, o sono un diavolo.
    Deciditi!

    Originariamente inviato da androita
    Funziona perfettamente!
    Lo so.

    Originariamente inviato da androita
    Grazie!
    Prego.

    P.S.
    Spero che, almeno una volta finito, ci mostrerai un'immagine del 'mostro' che stai creando.




  10. #20
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    volntieri, vi giro una demo!!!


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.