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

    Errore su SHAPE a DB ACCESS

    Ciao ragazzi!

    Ho installato un'applicazione in VB6 che ho realizzato io su un sistema con Windows 98.
    Al momento della stampa di un report mi viene visualizzato il seguente errore:
    "Run-time error '-2147467259 (80004005)' Relate, Compute By, and Sort operations cannot be performed on column(s) whose defined size is unknown or too large."

    Leggendo qua e là ho scoperto che il problema potrebbe essere dovuto ad alcuni campi del DB (access) settati come Memo. Così ho trasformato tali campi in campi di testo da 255 caratteri ma il problema si pone ugualmente.

    L'errore non si verifica su Windows 2000 o Windows XP.

    Qualcuno ha qualche suggerimento da proporre (oltre ovviamente a dire che la mia applicazione gira solo su Windows 2000 o superiori... ) ?

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

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Errore su SHAPE a DB ACCESS
    Cosa c'entrava la "shape" nel titolo? Ho corretto io aggiungendo il linguaggio presupposto, ma ricordati di inserirlo tu in futuro.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Sto cercando di capire a cosa è dovuto il problema.

    E' possibile che, considerato che il problema si verifica solo con Windows 98, il problema sia dovuto solo a scarsità di risorse? Forse problemi di memoria RAM?
    La macchina sulla quale ho provato il software ha 128 MB di RAM.

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

  4. #4


    Ho pensato a qualche componente mancante dal Deploy ed ho quindi installato manualmente l'ultimo MDAC;
    ho pensato a convertire il DB access nei formati precedenti (2000 e 97);
    Mi è sembrato di aver fatto passare come il riso il supporto Microsoft per Vb6 ma non ho trovato nulla;
    Provo a postarvi il codice incriminato:

    codice:
    ...
    cn.Provider = "MSDataShape"
    cn.Open "dsn=ODBCNAME;Pwd=pippo;"
      
    With cmd
        .ActiveConnection = cn
        .CommandType = adCmdText
        .CommandText = " SHAPE {SELECT (SELECT Nome + ' ' + Cognome FROM tblDipendenti WHERE ID = cd_tblDipendenti) as NomeRisorsa," & _
            "(SELECT Matricola FROM tblDipendenti WHERE ID = cd_tblDipendenti) as NumeroMatricola," & _
            "(SELECT NomeRuolo FROM tblRuoli WHERE ID = (SELECT Ruolo FROM tblDipendenti WHERE ID = cd_tblDipendenti)) as NomeRuolo," & _
            "(SELECT Provincia FROM tblDivisLibroPresenze WHERE ID = (SELECT DivisioneLibroPresenze FROM tblDipendenti WHERE ID = cd_tblDipendenti)) as NomeLibroPresenze," & _
            "(SELECT NumeroBadge FROM tblDipendenti WHERE ID = cd_tblDipendenti) as NumeroBadgePersonale," & _
            "(SELECT TOP 1 DataInizio FROM tblComportamenti WHERE tblComportamenti.cd_tblDipendenti = tblStampaMultipla.cd_tblDipendenti ORDER BY ID DESC) as DataAssunzione," & _
            "cd_tblDipendenti,Data,Entrata1," & _
            "Uscita1,Entrata2,Uscita2,Entrata3,Uscita3,TipoOrario," & _
            "MonteOre,Effettivo,Assenza,Straordinario,Giustificazione1," & _
            "MinutiGiustificati1,Giustificazione2,MinutiGiustificati2," & _
            "Giustificazione3,MinutiGiustificati3,Giustificazione4," & _
            "MinutiGiustificati4,Giustificazione5,MinutiGiustificati5,TotaleOrdinari,TotaleEffettivo,TotaleStraordinari,TotaleAssenza,NomeGiust1,QtaGiust1,NomeGiust2,QtaGiust2,NomeGiust3,QtaGiust3,NomeGiust4,QtaGiust4,NomeGiust5,QtaGiust5,NomeGiust6,QtaGiust6,NomeGiust7,QtaGiust7,NomeGiust8,QtaGiust8,NomeGiust9,QtaGiust9,NomeGiust10,QtaGiust10,GiorniLavorati " & _
            "FROM tblStampaMultipla} AS Command1 COMPUTE Command1 " & _
            "BY NomeRisorsa,NumeroMatricola,NumeroBadgePersonale,NomeRuolo,NomeLibroPresenze,DataAssunzione,TotaleOrdinari,TotaleEffettivo,TotaleStraordinari,TotaleAssenza,NomeGiust1,QtaGiust1,NomeGiust2,QtaGiust2,NomeGiust3,QtaGiust3,NomeGiust4,QtaGiust4,NomeGiust5,QtaGiust5,NomeGiust6,QtaGiust6,NomeGiust7,QtaGiust7,NomeGiust8,QtaGiust8,NomeGiust9,QtaGiust9,NomeGiust10,QtaGiust10"
        .Execute
    End With
    
    With rs
        .ActiveConnection = cn
        .CursorLocation = adUseClient
        .Open cmd
    End With
    Set rs1 = rs(0).Value
    
    Dim q As Integer
    Dim intCtrl As Integer
    Dim X As Integer
    Dim z As Integer
    X = 0
    q = 0
    z = 0
    
    With rptCartellinoMulti
    ...
    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.