Verifica carattere cartella maiuscolo/minuscolo

di il
9 risposte

Verifica carattere cartella maiuscolo/minuscolo

Buongiorno,
ho un dilemma che non riesco a risolvere.
In una maschera vengono inseriti nome e cognome scritti in maiuscolo.
Se per errore, viene scritta da Windows una cartella in carattere minuscolo, access mi da un errore runtime 76.
Esiste un modo di far uscire un errore da access dicendo che la cartella è stata scritta erroneamente in minuscolo?
attualmente ho questo vba:

If (Dir(mpat & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome], vbDirectory) = [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome]) Then
Shell "explorer.exe " + mpat & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome], vbNormalFocus
    Exit Sub
    Else
If MsgBox("Vuoi creare la cartella?", vbYesNo + vbQuestion) = vbYes Then
MkDir mpat & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome]
MsgBox ("La cartella " & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome] & " è stata creata! ")
Shell "explorer.exe " + mpat & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome], vbNormalFocus
Else
Exit Sub
End If
End If
End Sub
grazie mille per l'aiuto.

9 Risposte

  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Mozzyllo ha scritto:


    ...
    In una maschera vengono inseriti nome e cognome scritti in maiuscolo.
    Se per errore, viene scritta da Windows una cartella in carattere minuscolo, access mi da un errore runtime 76.
    A mio avviso la domanda vera è "Perché i caratteri in minuscolo non vanno bene?"
    Sotto molti aspetti Windows non è case sensitive. Creare una cartella "PHIL CATTIVOCARATTERE" o "Phil Cattivocarattere" per lui è indifferente.
    Fai un bel debug usando una variabile stringa a cui assegni questo valore
    mpat & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome]
    che è quello che poi passi a MkDir.
    Fornisci il risultato delle varie casistiche. Attenzione alla presenza di caratteri vietati nei nomi dei file.
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Philcattivocarattere ha scritto:


    A mio avviso la domanda vera è "Perché i caratteri in minuscolo non vanno bene?"
    e' una scelta d'ufficio.... sono obbligato a scriverli in maiuscolo.
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Mozzyllo ha scritto:


    e' una scelta d'ufficio.... sono obbligato a scriverli in maiuscolo.
    Allora non ho capito di che cosa hai bisogno, se una sorta di "avviso" per evitare che venga inserito il cognome e il nome in minuscolo o se l'utilizzo di caratteri minuscoli dà problemi nella creazione della cartella nel filesystem.
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Attualmente access vede la cartella scritta in minuscolo e mi da l'errore runtime.
    Vorrei che, non appena vede che la cartella esiste con il nome e cognome minuscolo, avvisi che la cartella esiste ma è scritta in minuscolo.
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Mozzyllo ha scritto:


    Attualmente access vede la cartella scritta in minuscolo e mi da l'errore runtime.
    No, la spiegazione dell'errore è un'altra.
    La prima IF dà falso in presenza di una cartella con la differenza dovuta anche solo dal maiuscolo/minuscolo
    ? Dir("D:\Test\Test1", vbDirectory) = "TEST1"
    Falso
    Apparentemente sembra quindi di poter andar tranquilli e di creare la cartella D:\Test\TEST1 con
    MkDir "D:\Test\TEST1"
    ed invece no, si otterrà l'errore di runtime 75 (non 76): Errore di accesso al percorso / file, perché in presenza di "D:\Test\Test1" non può creare "D:\Test\TEST1"
    Devi dividere la prima if in una verifica della presenza della directory e solo in un secondo momento verificare che sia scritta come interessa a te.

    Mozzyllo ha scritto:


    Vorrei che, non appena vede che la cartella esiste con il nome e cognome minuscolo, avvisi che la cartella esiste ma è scritta in minuscolo.
    e dopo? modifichi il filesystem a mano?
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Mozzyllo ha scritto:


    Vorrei che, non appena vede che la cartella esiste con il nome e cognome minuscolo, avvisi che la cartella esiste ma è scritta in minuscolo.
    e dopo? modifichi il filesystem a mano?
    Si, attualmente modifico a mano le cartelle riscrivendole in maiuscolo. Mi sta pure bene fare cosi'....
    ho modo di controllare le cavolate dei miei colleghi
    Devi dividere la prima if in una verifica della presenza della directory e solo in un secondo momento verificare che sia scritta come interessa a te.
    puoi indicarmi se il comando scritto così è corretto?
        If (Len(Dir(mpat & [Form_Contatto]![Cognome] & " " & [Form_Contatto]![Nome], vbDirectory)) <> 0) Then
        MsgBox ("ATTENZIONE CARTELLA CREATA CON CARATTERI MINUSCOLI, VERIFICARE")
        Exit Sub
    altrimenti c'è un'altro comando per la verifica dei nomi e cognomi scritti in minuscolo? scusami se te lo chiedo ma sono alle prime armi....
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Ma ti serve proprio indicare col messaggio che la cartella è scritta in minuscolo (quel codice non andrebbe bene fra l'altro)

    o solo essere sicuro che sia in maiuscolo? In questo caso ti basta fare il cambio del nome e basta.
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    oregon ha scritto:


    Ma ti serve proprio indicare col messaggio che la cartella è scritta in minuscolo (quel codice non andrebbe bene fra l'altro)
    o solo essere sicuro che sia in maiuscolo? In questo caso ti basta fare il cambio del nome e basta.
    siccome i colleghi sono testardi, continuano a scrivere le cartelle manualmente invece che usare l'access che ho creato.
    mi serve sapere che è stata creata in minuscolo ed avvisare che è stata creata in maniera errata.
    poi la correggerò io manualmente.
  • Re: Verifica carattere cartella maiuscolo/minuscolo

    Ma perché?? Perché dovresti avere l'errore 76 se la cartella è in minuscolo??

    Lascia creare ai tuoi colleghi la cartella come vogliono e, se proprio vuoi, correggila tu (da programma con l'istruzione Name). Anche se non ne vedo affatto la necessità.

    Semmai, il problema può esserci se vengono utilizzati più spazi tra nome e cognome o altri caratteri ... allora sì potresti avere un errore 76
Devi accedere o registrarti per scrivere nel forum
9 risposte