progetto da realizzare



  • progetto da realizzare
    di Mordred74 data: 10/12/2013 07:43:47

    Buongiorno a tutti!
    Faccio subito una premessa: non si tratta di un problema vero e proprio, si tratta di consigli alla realizzazione di un progetto a medio termine.
    Vista la vostra esperienza, vorrei chiedervi dei consigli per realizzarlo al meglio. In allegato trovate un file in excel contenente unicamente le maschere (per farvi un idea), più un file in word con la spiegazione più o meno dettagliata del progetto.
    si tratta di realizzare un gestionale per delle schede già esistenti che sono numerate progressivamente da E01 fino ad E350 (con la possibilità però di aggiungerne delle nuove).
    Ho quindi il database delle schede, il database dei prodotti utilizzati, la gamma colori gestiti tutti su file in excel.
    ho poi le singole schede in formato word e/o pdf.
    Vorrei quindi poter gestire la ricerca in base a dei parametri che mi consentano di verificare se esiste già una scheda adatta, in caso contrario si apra la maschera per inserirne una nuova.

    Quindi le mie domande sono le seguenti:

    1) Mi conviene gestire il database in excel o in access?
    2) per quanto riguarda la numerazione progressiva delle schede (Exxx) , mi date una dritta per la formula da utilizzare?
    3) eventuali considerazioni o miglioramenti sono ben accetti.

    Grazie a tutti per l' attenzione, buona giornata



  • di paolomath data: 10/12/2013 08:41:40

    Ciao,

    personalmente opterei per Access, la vedo più semplice da gestire (ma forse è solo una preferenza personale... ). In più puoi creare un file .mde per impedire le modifiche.

    Per la numerazione dei fogli (Excel) potresti fare (creazione nuovo foglio):

    ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "E" & Right("00" & Application.Sheets.Count, 3)

    Inserisce un foglio e lo rinomina.

    Ovviamente da implementare a seconda di come lavori (ad esempio le righe sopra, se cancelli un foglio esistente, darà errore in quanto proverà ad assegnare un nome che c'è gia). Se non cancelli mai i fogli potrebbe andare bene.
    Ho inserito la funzione Right perchè cosi tutti i fogli avranno lo stesso numero di caratteri (E001, E002, E101) fino a E999. Questo può facilitare eventuali ricerche.

    Vediamo poi altri commenti.

    Bye bye.



  • di Mordred74 data: 12/12/2013 07:34:41

    Grazie paolomath,
    Per quanto riguarda i fogli/schede denominati Exxx: in realtà già ne esistono un 100, e devo tenere la numerazione in decimali per poi passare a centesimali ( E01... E99, E100.... E200... E300... etc....) quindi questo conteggio non posso modificarlo.
    Questi fogli/schede non andranno mai cancellati (al limite si revisionano nel corso degli anni). Se possibile ti chiederei una mano per la gestione in access.
    Siccome si tratta di esportare diversi file excel e di poterli relazionare tra loro, non avendo mai utilizzato l' access non saprei come fare...
    Prossimamente prenderò lezioni da un amico che è un esperto e mi "inizierà" in questo nuovo mondo, nel frattempo se riuscissi ad abbozzare qualcosa sarebbe grandioso

    Grazie comunque per gli utili consigli, buona giornata!



  • di Grograman data: 12/12/2013 08:52:54

    Concordo sull'utilizzo di Access perchè se il DB è costruito bene ti sbatti un pò a creare le maschere la prima volta, ma sono di più facile manutenzione rispetto alle userform.

    Il che non vuol dire che non sia fattibile in excel!
    Per farlo in Access per bene progetta bene sulla carta come vuoi organizzare le tabelle, come indicizzarle e poi passa all'importaqzione nel DB vero e proprio.

    Non ho capito il problema della numerazione fogli.
    Fino al 99esimo si Chiamano "Exx" e poi devono diventare "Exxx"?

    Se così prova il codice proposto, ti basta modificarlo alla bisogna (suggerimento, Replace(ws.Name, "E", "") )
     
    Option Explicit
    
    Sub Nomesub()
      Dim wb As Workbook
      Dim ws As Worksheet
      
      Dim x As Long, i As Long
      Dim strName As String
      Set wb = ThisWorkbook
      For i = 1 To 140
        Set ws = wb.Worksheets.Add(AFTER:=wb.Worksheets(wb.Worksheets.Count))
          With ws
            strName = IIf(i < 100, "E" & Format(i, "00"), "E" & Format(i, "000"))
            .Name = strName
          End With
        Set ws = Nothing
      Next i
      Set ws = Nothing
      Set wb = Nothing
    End Sub
    



  • di Mordred74 data: 12/12/2013 09:35:00

    [QUOTE]
    Non ho capito il problema della numerazione fogli.
    Fino al 99esimo si Chiamano "Exx" e poi devono diventare "Exxx"?
    [UNQUOTE]

    Grazie Grogaman, è esattamente così, la tua soluzione va benissimo, grazie!