Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: ordinare un campo memo

  1. #1

    ordinare un campo memo

    salve,

    sto utilizzando un recordset disconnesso per ordinare dei nomi di file contenuti in una cartella e volevo chiedervi perchè se io aggiungo un campo di tipo nota (adLongVarChar) quando uso il metodo sort del recordset(RSOrdina.sort = "nomefile desc") di quel campo, mi dà un errore di automazione: "impossibile applicare il tipo di ordinamento"...
    perchè se io creo la stessa colonna come stringa(adVarChar) l'errore non sussiste?
    c'è un qualche modo x ovviare a questo errore o mi devo per forza spezzare il nome del file???

    grazie
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma quanto può essere lungo questo file? Possibile non vada bene un campo testo "tradizionale"?

    Roby

  3. #3
    un campo tradizionale (varchar) va benissimo.

  4. #4
    un nome file maggiore di 255 caratteri? cos'è un tema come nome del file?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    no, però ho creato una sub che mi automatizza il tutto anche in altri programmi, e se qualche santo mi mettesse un campo memo da sortare, sono fregato su tutta la linea....

    c'è qualche soluzione per sortare i campi nota???

    posto la sub...

    codice:
    Sub Ordina(arrSort, arrTitle, SortaPer)
        Dim RSOrdina
        Set RSOrdina = server.CreateObject("ADODB.Recordset")
        RSOrdina.cursorlocation = 3
        For i = 0 To UBound(arrTitle, 2)
            Select Case arrTitle(1, i)
                Case 200, 202
                    RSOrdina.Fields.Append arrTitle(0, i), arrTitle(1, i), arrTitle(2, i)
                Case 203, 201
                    RSOrdina.Fields.Append arrTitle(0, i), arrTitle(1, i), 536870910
                Case Else
                    RSOrdina.Fields.Append arrTitle(0, i), arrTitle(1, i)
            End Select
        Next
        RSOrdina.Open
        For y = 0 To UBound(arrSort, 2)
            RSOrdina.AddNew
            For i = 0 To UBound(arrTitle, 2)
                RSOrdina.Fields(CStr(arrTitle(0, i))) = arrSort(i, y)
            Next
        Next
        RSOrdina.Sort = SortaPer
        For i = 0 To RSOrdina.Fields.Count - 1
            RSOrdina.MoveFirst
            For y = 0 To UBound(arrSort, 2)
                arrSort(i, y) = RSOrdina.Fields(i)
                RSOrdina.MoveNext
            Next
        Next
        RSOrdina.Close
        Set RSOrdina = Nothing
    End Sub
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    se lo vuoi sortare lo devi castare a varchar - non è italiano, ma chi deve capire capisce

  7. #7
    allora dovrei modificare la mia sub facendo in modo che, in automatico mi crei un campo per ogni 255 caratteri del campo e sortare per quei campi???

    un pò complicato....

    mi potreste aiutare???
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  8. #8
    spe', famme capi'

    1. usi access?
    2. perché non usi la ORDER BY invece di tutto quel giro con gli array?

  9. #9
    la sub mi serve per outlook, excel, html, access....

    Insomma un pò di tutto....

    Visto che:

    - il sort di outlook va solo per un campo, se lo fai per più campi nn è logico(detto da Sue Mosher --> MVP Outlook Microsoft) e se provi, da programma, a sortare x più campi ti sorta solo x il primo....

    - visto che interfaccio excel a outlook;

    - visto che in outlook soono tutti campi più lunghi di 255 caratteri....

    Il modo + veloce x sortare è il recordset disconnesso... o mi sbaglio?

    se nn mi sbaglio mi aiutate solo nella logica????

    l'ho chiesto in questo forum perchè qui si tratta di db.....
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  10. #10
    sortare su piu campi non è logico? ecco perchè poi vengono fuori cose come Windows... il fatto è che non puoi castare una cosa piu lunga del campo in cui vuoi castare, dovresti recuperare solo una parte del testo...tanto, il campo di outlook sarà piu lungo di 255 caratteri, però il nome di un file è piu corto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.