Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : DataBinding et Date dans un TextBox [ Base de données / ADO.NET ] (djdiabolik)

vendredi 13 avril 2007 à 17:37:50 | DataBinding et Date dans un TextBox

djdiabolik

Bonjour,

je rencontre un problème avec un formulaire avec plusieurs champs liés par DataBinding, plus précisément avec des champs textes qui récupèrent des données de type date depuis un DataSet alimenté par une table SQL Server 2000.
Dans la table SQL aussi bien que dans la DataTable du DataSet, tous mes champs de type Date sont des smalldatetime qui peuvent être nulles (et qui le sont par défaut, sauf un champ qui est obligatoirement renseigné lors de l'extraction des données par la commande Select).
Par défaut donc, lorsque je charge ma BindingSource, et mon BindingNavigator, mon formulaire contient tous les enregistrements de ma Sélection, les textbox destinés à accueillir les dates sont à vide (la plupart des datas sont à null, et pas seulement de type date). Je peux naviguer dedans, et changer les données, etc.
Mieux même quand je veux saisir une date dans un textbox prévu à cet effet, le databinding effectue un contrôle et ne laisse sortir du textbox que si une date valide à été saisie !

Mais cet avantage présente un problème grave à mes yeux : si je rentre dans le champ (en cliquant dedans, ou par tabulation), et que j'en ressors sans rien faire, ok rien ne se passe.
En revanche, si j'ai le malheur d'appuyer sur une touche par erreur qui commence une saisie, même si je supprime ce que j'ai saisi par erreur, je suis obligé de saisir une date valide pour pouvoir sortir du focus sur le textbox en question. C'est grave d'un point de vue ergonomie ET du contenu des données !
Actuellement mes txtbox sont liés de cette manière

txtDateDernierAvis.DataBindings.Add("Text", bsFactures, "DATE_DERNIER_AVIS", True, DataSourceUpdateMode.OnValidation)

J'ai essayé cette autre option :

txtDateDernierAvis.DataBindings.Add("Text", bsFactures, "DATE_DERNIER_AVIS", False, DataSourceUpdateMode.OnValidation)

Mais du coup je suis embetté car il m'affiche l'heure et les minutes (mes datas sont en smalldatetime SQL), et de plus si je tape pas exactement une date du type jj/mm/aa (ou jj/mm/aaaa), la saisie effectuée est effacée sans demander son reste.

Bref c'est tout ou rien...

Quelqu'un aurait-il une autre solution à me proposer, et le cas échéant, pour l'option 2 à False, est-il possible de transformer le txtbox pour qu'il n'affiche plus les heures et minutes?

Un grand merci de m'avoir lu jusque là



----------------------------------------------------------------------------------
Pourquoi faire simple quand on peut faire compliqué?????That is the question


vendredi 13 avril 2007 à 18:13:29 | Re : DataBinding et Date dans un TextBox

chaibat05

salut,
le problème vient du fait que une fois le contenu d' un textbox
a changé la valeur du champ n' est plus null.
Si tu supprimes c' est chaine vide.(TextBox=Null est erroné)
Solution: ne pas lier ton TextBox.
Et lorsque tu sors de celui-ci tu testes sur son contenu
si c' est "" alors tu mets à jour ton champ en lui affectant
la valeur Null.

lundi 16 avril 2007 à 09:21:56 | Re : DataBinding et Date dans un TextBox

djdiabolik

mmmh,

faire une mise à jour à chaque fois que le focus du textbox est perdu, vu les données que je gère, la nature du réseau et le déjà grand nombre de connexions qui existent, ça me semble moyen comme solution...
Je vais voir avec l'utilisateur la solution qu'il préfère, ça me semble la meilleure solution.

Merci pour l'info en tout cas ! :)
-----------------------------------------------------
Pourquoi faire simple quand on peut faire compliqué?????That is the question

lundi 16 avril 2007 à 12:14:35 | Re : DataBinding et Date dans un TextBox

chaibat05

comme tu dis,  mmmh ...
tata.Fields("Toto")=Null c' est beaucoup...

vendredi 20 avril 2007 à 11:17:02 | Re : DataBinding et Date dans un TextBox

djdiabolik

Réponse acceptée !
Salut,

j'ai consulté l'utilisateur, et la solution suivante a été acceptée :

txtDateDernierAvis.DataBindings.Add("Text", bsFactures, "DATE_DERNIER_AVIS", False, DataSourceUpdateMode.OnValidation)


Celà dit c'est simplement une solution entre la peste et le choléra à mon avis.

Celà dit également, c'est toujours mieux que de faire 36 cas différents d'update dans un dataset, et ce juste à cause des problèmes que posent les différents objets d'une form...
Le databinding c'est bien, en abuser ça craint, comme on dit...

---------------------------------------------------------------------------
Pourquoi faire simple quand on peut faire compliqué?????That is the question

dimanche 22 avril 2007 à 00:51:02 | Re : DataBinding et Date dans un TextBox
dimanche 22 avril 2007 à 01:40:41 | Re : DataBinding et Date dans un TextBox

chaibat05

qu' est ce que c' est que ce baazzar ?



Cette discussion est classé dans : textbox, date, données, type, databinding


Répondre à ce message

Sujets en rapport avec ce message

Date [ par Bouba ] Comment faire pour créer un bilan annuel en se servant des dates. Ex: j'ai un textbox date:01/10/01 et un textbox prix,puis après avoir sauvé les donn type de données DATE [ par vivi62 ] Boujour à tousje débute en vb, et pour un stage, je dois créer une application vb reliée à une base access.j'ai créé un projet de données (avec des co Pb textbox de type "Date" (rechercher par date) [ par el_teedee ] Lut,j'ai une textbox de type date. Voila comment ca se passe:par défaut, elle contient la date du jour.exemple : 5.8.2004si je n'y touche pas, 5.8.200 changer le type d'un champ [ par rahmoun111 ] Bonjour,J'ai besoin de votre aide !j'utilise une base de données acces.J'ai une table qui contient un champ de type 'date' .Lorsque j'envoi les donnée problème type de données [ par cassecroute ] bonjour, voila, dans mon programme, je propose au utilisateur de rechercher par une date, mais lorsque je veux exécuter cette requête, il me dit : " problème type de données [ par cassecroute ] bonjour, voila, dans mon programme, je propose au utilisateur de rechercher par une date, mais lorsque je veux exécuter cette requête, il me dit : " VB & base de données (data recordset!) [ par lovely_java ] Bonjour, :hello: Je fais une pte app. en VB (bases de données en utilisant le data recordset) ...voila j'ai crée un base de données dt le premier cham VBA et les fonctions [ par sedran95 ] Bonjour à tous et merci pour votre aide. Je travaille actuellement avec excel 2000 et je cherche comment retourner le résultat d'une fonction VBA sous vba et les fonctions [ par sedran95 ] Bonjour à tous et merci pour votre aide. Je travaille actuellement avec excel 2000 et je cherche comment retourner le résultat d'une fonction VBA sous vba et les fonctions [ par sedran95 ] Bonjour à tous et merci pour votre aide. Je travaille actuellement avec excel 2000 et je cherche comment retourner le résultat d'une fonction VBA sous


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.