yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017 22 déc. 2008 à 13:33
Bonjour,
La table doit être sans cellule vide.
De plus lors de la suppression d'un enregistrement le message suivant apparaît :
---------------------------
Notification d'une exception du débogueur
---------------------------
Le projet Project1.exe a provoqué une classe d'exception EOleException avec le message
'[Microsoft][Pilote ODBC Excel]
La suppression de données dans une table attachée n'est pas gérée par le pilote ISAM'.
Processus stoppé.
Utilisez Pas-à-pas ou Exécuter pour continuer.
---------------------------
Il est possible d'ajouter un enregistrement mais pas d'en supprimer !.
Merci pour l'aide j'ai avancé.
Reste à trouver une explication.
Salutations
pierrefo
Messages postés54Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention29 décembre 2008 22 déc. 2008 à 11:54
Re,
Petite info complémentaire:
Pour que les cellules qui contiennent des nombres soient interprétées en tant que texte il faut, dans Excel, qu'elles soient entrées sous la forme: '-128
Cordialement
Pierre
pierrefo
Messages postés54Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention29 décembre 2008 22 déc. 2008 à 11:40
Bonjour,
En effet j'ai le même problème pour les autres colonnes.
En fait l'interface ADO test sur les premières lignes le type de données, sans tenir compte de la définition dans excel.
Voici un essai:
Dans ta colonne Etendue j'ai, dans le fichier Excel, mis des caractères alpha dans les 20 premières lignes. Dans le DBGrid je peux alors saisir du texte. Par contre les cellules laissées avec des valeurs numériques sont vides dans le DBGrid.
Salutations
yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017 22 déc. 2008 à 11:17
Bonjour,
Effectivement en ajoutant la colonne nom =texte je peux la modifier à volonté.
Par contre les autres colonnes restent en numérique bien que déclarées en texte !!
Je ne comprends pas pourquoi il y a cette différence ?
est-ce la même chose pour les autres colonnes ?
Salutations
pierrefo
Messages postés54Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention29 décembre 2008 22 déc. 2008 à 10:59
Re,
Avec tes sources et sans aucune modification, j'ai ajouté dans le fichier excel une colonne, nom = Texte, entre serie et Etendue (dans T_mecaniques).
Je n'ai aucun problème ni pour visualiser cette colonne alphanumérique, ni pour la modifier, ni pour ajouter une nouvelle ligne dans le DBGrid.
Nota: j'utilise moi-même l'accès à des bases Excel (fichiers de généalogie, fichiers de coordonnées géographiques, annuaires ..) et je n'ai jamais rencontré ce problème.
Cordialement
yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017 22 déc. 2008 à 10:30
Bonjour,
Sur la grille DBGgrid je ne peux entrer que des nombres !
Avec les lettres j'ai une erreur avec impossibilité rentrer des lettres !
Si sur ton poste tu peux entrer aussi bien des nombres que des lettres alors c'est la configuration qui est différente.
Est-il possible de rentrer des lettres dans le DBGrid ?
Bonne remarque sur la simplification
Merci
Salutations
pierrefo
Messages postés54Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention29 décembre 2008 22 déc. 2008 à 10:08
Bonjour,
Je ne comprends pas ta question pour les colonnes alphanumériques. Pour moi ça fonctionne très bien.
Par contre je pense que ton code peut être simplifié ....
Un exemple :
Au lieu de construire une chaine de connexion complète à chaque changement de fichier, tu peux utiliser:
s1 := 'Provider=MSDASQL.1;Persist Security Info=False;Data Source=TestExcel';
ADOConnection.ConnectionString := s1;
ADOConnection.DefaultDatabase := chemin_de_la_base;
Bonne continuation
18 janv. 2009 à 12:48
23 déc. 2008 à 09:37
BY OFFLAKE
23 déc. 2008 à 09:08
http://support.microsoft.com/kb/257819
22 déc. 2008 à 13:33
La table doit être sans cellule vide.
De plus lors de la suppression d'un enregistrement le message suivant apparaît :
---------------------------
Notification d'une exception du débogueur
---------------------------
Le projet Project1.exe a provoqué une classe d'exception EOleException avec le message
'[Microsoft][Pilote ODBC Excel]
La suppression de données dans une table attachée n'est pas gérée par le pilote ISAM'.
Processus stoppé.
Utilisez Pas-à-pas ou Exécuter pour continuer.
---------------------------
Il est possible d'ajouter un enregistrement mais pas d'en supprimer !.
Merci pour l'aide j'ai avancé.
Reste à trouver une explication.
Salutations
22 déc. 2008 à 11:54
Petite info complémentaire:
Pour que les cellules qui contiennent des nombres soient interprétées en tant que texte il faut, dans Excel, qu'elles soient entrées sous la forme: '-128
Cordialement
Pierre
22 déc. 2008 à 11:40
En effet j'ai le même problème pour les autres colonnes.
En fait l'interface ADO test sur les premières lignes le type de données, sans tenir compte de la définition dans excel.
Voici un essai:
Dans ta colonne Etendue j'ai, dans le fichier Excel, mis des caractères alpha dans les 20 premières lignes. Dans le DBGrid je peux alors saisir du texte. Par contre les cellules laissées avec des valeurs numériques sont vides dans le DBGrid.
Salutations
22 déc. 2008 à 11:17
Effectivement en ajoutant la colonne nom =texte je peux la modifier à volonté.
Par contre les autres colonnes restent en numérique bien que déclarées en texte !!
Je ne comprends pas pourquoi il y a cette différence ?
est-ce la même chose pour les autres colonnes ?
Salutations
22 déc. 2008 à 10:59
Avec tes sources et sans aucune modification, j'ai ajouté dans le fichier excel une colonne, nom = Texte, entre serie et Etendue (dans T_mecaniques).
Je n'ai aucun problème ni pour visualiser cette colonne alphanumérique, ni pour la modifier, ni pour ajouter une nouvelle ligne dans le DBGrid.
Nota: j'utilise moi-même l'accès à des bases Excel (fichiers de généalogie, fichiers de coordonnées géographiques, annuaires ..) et je n'ai jamais rencontré ce problème.
Cordialement
22 déc. 2008 à 10:30
Sur la grille DBGgrid je ne peux entrer que des nombres !
Avec les lettres j'ai une erreur avec impossibilité rentrer des lettres !
Si sur ton poste tu peux entrer aussi bien des nombres que des lettres alors c'est la configuration qui est différente.
Est-il possible de rentrer des lettres dans le DBGrid ?
Bonne remarque sur la simplification
Merci
Salutations
22 déc. 2008 à 10:08
Je ne comprends pas ta question pour les colonnes alphanumériques. Pour moi ça fonctionne très bien.
Par contre je pense que ton code peut être simplifié ....
Un exemple :
Au lieu de construire une chaine de connexion complète à chaque changement de fichier, tu peux utiliser:
s1 := 'Provider=MSDASQL.1;Persist Security Info=False;Data Source=TestExcel';
ADOConnection.ConnectionString := s1;
ADOConnection.DefaultDatabase := chemin_de_la_base;
Bonne continuation