Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Acces natif sql serveur et NULL

8 réponses
Avatar
free
Bonjour

J'utilise l'acces natif avec sql serveur
J'ai une clé etrangere optionnelle dans une fiche (qui peut etre nulle)
Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au lieu de
null, et du coup, sqlserveur rale sur les contraintes d'intégritées.

Auriez vous un avis dessus ?

8 réponses

Avatar
Firetox
Bonjour

Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au lieu
de null, et du coup, sqlserveur rale sur les contraintes d'intégritées.



le champs doit etre en numerique alors
le fait qu'on veuille gerer le null impose plusieurs contraintes

le null n'est pas une valeur pour le SQL (c'est absence de valeur)
or si vous mettez un numerique windev va y coller 0 mais 0 est une valeur
alors que null non

dans ce cas il faut mettre le champs en texte
on a donc soit une valeur 0 ...... 99999999999999 soit blanc "" chaine vide
qui representera le null

maintenant il faut que windev le prenne en compte en gerant les ordre H et
ne pas transmettre de valeur ou alors transmettre null sans guillement pas
comme une chaine mais ecrit null

bon dev
@+
Avatar
free
Bonjour

Merci pour la réponse
Il s'agit de clé étrangere, donc un poil délicat de passer en texte.

J'ai continuer a investiguer, semblerait qu'il faille aller cocher une
propriété null sur la rubrique.
Dans l'aide ca parle aussi de fichier.rubrique..null=vrai pour forcer le
null sur une rubrique.

Mais ce qui m'inquiete plus, c'est l'initialisation de tout ca .
1) db faite sur le serveur
2) création d'une analyse, import de la description des tables
3) aller manuellement coher cette propriété sur toutes les rubriques étant
clé étrangeres facultative
cette derniere étape me semble d'une folie monstrueuse des que la db possède
pas mal de table.



"Firetox" wrote in message
news:4b7ac3c1$0$6285$
Bonjour

Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au lieu
de null, et du coup, sqlserveur rale sur les contraintes d'intégritées.



le champs doit etre en numerique alors
le fait qu'on veuille gerer le null impose plusieurs contraintes

le null n'est pas une valeur pour le SQL (c'est absence de valeur)
or si vous mettez un numerique windev va y coller 0 mais 0 est une valeur
alors que null non

dans ce cas il faut mettre le champs en texte
on a donc soit une valeur 0 ...... 99999999999999 soit blanc "" chaine
vide qui representera le null

maintenant il faut que windev le prenne en compte en gerant les ordre H et
ne pas transmettre de valeur ou alors transmettre null sans guillement pas
comme une chaine mais ecrit null

bon dev
@+




Avatar
Firetox
Bonour,

non pas la cle dans l'analyse
le champs de la fenetre a passé en texte


"free" a écrit dans le message de
news:4b7ad09c$0$9105$
Bonjour

Merci pour la réponse
Il s'agit de clé étrangere, donc un poil délicat de passer en texte.

J'ai continuer a investiguer, semblerait qu'il faille aller cocher une
propriété null sur la rubrique.
Dans l'aide ca parle aussi de fichier.rubrique..null=vrai pour forcer le
null sur une rubrique.

Mais ce qui m'inquiete plus, c'est l'initialisation de tout ca .
1) db faite sur le serveur
2) création d'une analyse, import de la description des tables
3) aller manuellement coher cette propriété sur toutes les rubriques étant
clé étrangeres facultative
cette derniere étape me semble d'une folie monstrueuse des que la db
possède pas mal de table.



"Firetox" wrote in message
news:4b7ac3c1$0$6285$
Bonjour

Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au lieu
de null, et du coup, sqlserveur rale sur les contraintes d'intégritées.



le champs doit etre en numerique alors
le fait qu'on veuille gerer le null impose plusieurs contraintes

le null n'est pas une valeur pour le SQL (c'est absence de valeur)
or si vous mettez un numerique windev va y coller 0 mais 0 est une valeur
alors que null non

dans ce cas il faut mettre le champs en texte
on a donc soit une valeur 0 ...... 99999999999999 soit blanc "" chaine
vide qui representera le null

maintenant il faut que windev le prenne en compte en gerant les ordre H
et ne pas transmettre de valeur ou alors transmettre null sans guillement
pas comme une chaine mais ecrit null

bon dev
@+








Avatar
patrice
La je parlais même pas de saisie.
Une fiche avec clé étrangère optionnelle (relation 0 ou 1)

une simple: hraz() puis hajoute() provoque le problème
(hraz() met "0", ce qui ne plait pas a mssql qui attend null)


Firetox a écrit :
Bonour,

non pas la cle dans l'analyse
le champs de la fenetre a passé en texte


"free" a écrit dans le message de
news:4b7ad09c$0$9105$
Bonjour

Merci pour la réponse
Il s'agit de clé étrangere, donc un poil délicat de passer en texte.

J'ai continuer a investiguer, semblerait qu'il faille aller cocher une
propriété null sur la rubrique.
Dans l'aide ca parle aussi de fichier.rubrique..null=vrai pour forcer
le null sur une rubrique.

Mais ce qui m'inquiete plus, c'est l'initialisation de tout ca .
1) db faite sur le serveur
2) création d'une analyse, import de la description des tables
3) aller manuellement coher cette propriété sur toutes les rubriques
étant clé étrangeres facultative
cette derniere étape me semble d'une folie monstrueuse des que la db
possède pas mal de table.



"Firetox" wrote in message
news:4b7ac3c1$0$6285$
Bonjour

Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au
lieu de null, et du coup, sqlserveur rale sur les contraintes
d'intégritées.



le champs doit etre en numerique alors
le fait qu'on veuille gerer le null impose plusieurs contraintes

le null n'est pas une valeur pour le SQL (c'est absence de valeur)
or si vous mettez un numerique windev va y coller 0 mais 0 est une
valeur alors que null non

dans ce cas il faut mettre le champs en texte
on a donc soit une valeur 0 ...... 99999999999999 soit blanc ""
chaine vide qui representera le null

maintenant il faut que windev le prenne en compte en gerant les ordre
H et ne pas transmettre de valeur ou alors transmettre null sans
guillement pas comme une chaine mais ecrit null

bon dev
@+











Avatar
Firetox
Bonjour,

moi non plus
hraz est lié aux champs d'une fenetre
le champ concerné est en numerique ou texte (champ de la fenetre)
donc un hraz avec un numerique met 0 dedans mais avec un texte il doit
mettre ""
et le hajoute avec "" dans le champ devrait envoyé null dans la base


"patrice" a écrit dans le message de
news:4b7b3518$0$24700$
La je parlais même pas de saisie.
Une fiche avec clé étrangère optionnelle (relation 0 ou 1)

une simple: hraz() puis hajoute() provoque le problème
(hraz() met "0", ce qui ne plait pas a mssql qui attend null)


Firetox a écrit :
Bonour,

non pas la cle dans l'analyse
le champs de la fenetre a passé en texte


"free" a écrit dans le message de
news:4b7ad09c$0$9105$
Bonjour

Merci pour la réponse
Il s'agit de clé étrangere, donc un poil délicat de passer en texte.

J'ai continuer a investiguer, semblerait qu'il faille aller cocher une
propriété null sur la rubrique.
Dans l'aide ca parle aussi de fichier.rubrique..null=vrai pour forcer le
null sur une rubrique.

Mais ce qui m'inquiete plus, c'est l'initialisation de tout ca .
1) db faite sur le serveur
2) création d'une analyse, import de la description des tables
3) aller manuellement coher cette propriété sur toutes les rubriques
étant clé étrangeres facultative
cette derniere étape me semble d'une folie monstrueuse des que la db
possède pas mal de table.



"Firetox" wrote in message
news:4b7ac3c1$0$6285$
Bonjour

Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au
lieu de null, et du coup, sqlserveur rale sur les contraintes
d'intégritées.



le champs doit etre en numerique alors
le fait qu'on veuille gerer le null impose plusieurs contraintes

le null n'est pas une valeur pour le SQL (c'est absence de valeur)
or si vous mettez un numerique windev va y coller 0 mais 0 est une
valeur alors que null non

dans ce cas il faut mettre le champs en texte
on a donc soit une valeur 0 ...... 99999999999999 soit blanc "" chaine
vide qui representera le null

maintenant il faut que windev le prenne en compte en gerant les ordre H
et ne pas transmettre de valeur ou alors transmettre null sans
guillement pas comme une chaine mais ecrit null

bon dev
@+













Avatar
Daireaux Jean-Baptiste
Firetox a écrit :
Bonjour,

moi non plus
hraz est lié aux champs d'une fenetre
le champ concerné est en numerique ou texte (champ de la fenetre)
donc un hraz avec un numerique met 0 dedans mais avec un texte il doit
mettre ""
et le hajoute avec "" dans le champ devrait envoyé null dans la base





Bonjour,

Juste pour signaler, Hraz affecte les variable d'état liée à la
description de l'analyse et ne touche pas et n'a aucun lien avec les
champ d'une fenêtre.

Ne pas confondre avec RAZ qui vide les champ de la fenêtre.

Bonne journée
J.B.D.
Avatar
Firetox
Bonjour,

oui vous avez raison
je parlais de Raz et comme je n'utilise pas l'analyse windev pour mes base
SQL
je n'ai a ffaire qu'a Raz

Desolé

"Daireaux Jean-Baptiste" a écrit
dans le message de news:4b7bb1f9$0$23237$
Firetox a écrit :
Bonjour,

moi non plus
hraz est lié aux champs d'une fenetre
le champ concerné est en numerique ou texte (champ de la fenetre)
donc un hraz avec un numerique met 0 dedans mais avec un texte il doit
mettre ""
et le hajoute avec "" dans le champ devrait envoyé null dans la base





Bonjour,

Juste pour signaler, Hraz affecte les variable d'état liée à la
description de l'analyse et ne touche pas et n'a aucun lien avec les champ
d'une fenêtre.

Ne pas confondre avec RAZ qui vide les champ de la fenêtre.

Bonne journée
J.B.D.


Avatar
nico9600
Le mardi 16 Février 2010 à 17:02 par free :
Bonjour

J'utilise l'acces natif avec sql serveur
J'ai une clé etrangere optionnelle dans une fiche (qui peut etre nulle)
Si je fait hraz sur la fiche, il semblerait que windev y mette 0 au lieu de
null, et du coup, sqlserveur rale sur les contraintes
d'intégritées.

Auriez vous un avis dessus ?


J'ai exactement le même problème (et cela n'est pas lié au champ de saisie mais bien à la rubrique)
Je convient que théoriquement dans un champ numérique la valeur par défaut est 0, et pour les char c'est "".
Mais dans SQL server on peut mettre Null, afin de gérer les cardinalités type 0-n.

Par contre dans windev, il y a bien dans la description d'une rubrique de type entier (clé étrangère en l'occurence) la possibilité d'autoriser les valeur null (case à cocher) et aussi de définir la valeur par défaut en Null !

Bon tout cela est très logique mai seul hic.. ca ne fonctionne pas ... lorsqu'on fait un Hraz la valeur qui est mise dans la rubrique est 0. J'ai même essayé de la forcer avec un brutal : MaTable.MaCléEtrangère = Null, et bien pas de message d'erreur mais c'est toujours 0 qui est effectivement attribué à la rubrique....
Quelqu'un a-t-il une solution ?