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

    [VB6] Compute By - errore su Windows Vista e DB Access

    Ciao ragazzi!

    Ho installato una mia applicazione fatta in VB6 su Windows Vista (indifferente la versione, pare che il problema si proponga su tutte le versione) e che interroga un database access.
    In fase di esecuzione di una query "gerarchica" tramite l'utilizzo di SHAPE e COMPUTE BY mi viene restituito il seguente errore:

    "Impossibile eseguire operazione Relate, Compute By e Sort su colonne le cui dimensioni definite sono sconosciute o eccessive"

    Vi propongo, abbreviata, la query che provocherebbe l'errore:

    codice:
    SHAPE 
    {SELECT ...... FROM tblStampaMultipla ORDER BY Data} AS Command1 COMPUTE Command1 
    BY ......
    Come ho detto sopra la query è abbreviata ma l'ho postata solo per farvi capire che il problema è derivante dall'utilizzo del COMPUTE BY.
    Inoltre, come ho detto nel titolo, il problema si propone solo su sistema operativa Windows Vista. Su tutti gli altri sistemi operativi funziona a meraviglia.
    Tutti i campi che vengono nominati nella query sono o campi testuali (al massimo di 30 caratteri) o numerici interi lunghi. Non ci sono campi Memo.

    Qualcuno riesce a suggerirmi qualcosa?

    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

  2. #2
    Vi posto qualche info in più.

    Ecco qua un po' più di codice:
    codice:
    ' *******************************************************
    ' Procedura di stampa dei cartellini multipli
    ' *******************************************************
    cn.Provider = "MSDataShape"
    cn.Open "dsn=" & strNomeODBC & ";Pwd=tt3db$$;"
    
    With cmd
      .ActiveConnection = cn
      .CommandType = adCmdText
      .CommandText = " SHAPE {SELECT ..... FROM tblStampaMultipla ORDER BY Data} AS Command1 COMPUTE Command1 BY ......                
                                
      .Execute
    End With
    L'errore viene generato in corrispondeza di .Execute.
    Forse il problema sta nel provider utilizzato per lo SHAPE?
    codice:
    cn.Provider = "MSDataShape"
    Sto provando altre soluzioni che possono piacere a Vista.

    Qualche suggerimento?

    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

  3. #3
    Riciao!

    Ho trovato dove sta il problema.
    Posto la risoluzione nel caso possa interessare a qualcuno:

    Questa è la porzione della query che provocava l'errore:
    codice:
    SHAPE {SELECT .....,tblStampa.Cognome + ' ' + tblStampa.Nome as NomeRisorsa,.....
    L'errore è provocato dai due campi uniti in questo modo.

    Ho sistemato impostando la query in quest'altro modo, ovvero semplicemente estraendo 2 campi invece di un'unico campo unificato:
    codice:
    SHAPE {SELECT .....,tblStampa.Cognome,tblStampa.Nome,.....
    E, anche su Vista, la routine è tornata a funzionare a meraviglia.

    Ciao!!

    Non piangere per ciò che hai sbagliato ma per quello che non hai fatto per paura di sbagliare.

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.