Peoblème au niveau de syntaxe [Résolu]

Signaler
Messages postés
32
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
25 décembre 2014
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
[code=vb][code=autre]

If TextBox1.Text "" Or TextBox3.Text "" Or TextBox4.Text = "" Or ComboBox2.Text = "" Or ComboBox1.Text = "" Or ComboBox3.Text = "" Or ComboBox4.Text = "" Or TextBox5.Text = "" Then
MsgBox("Il faut remplir tous les champs")
Else
'les instructions
Dim f, g, k, l, m, n, o, p As String
Dim h, i, j As Decimal
Dim ds As New DataSet

ee = TextBox2.Text
f = ComboBox1.Text
g = ComboBox3.Text
h = NumericUpDown1.Value
i = NumericUpDown2.Value
j = NumericUpDown3.Value
k = ComboBox4.Text
l = TextBox5.Text
m = ComboBox5.Text
n = TextBox6.Text
o = ComboBox6.Text
p = TextBox7.Text


Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter

Dim con As New OleDb.OleDbConnection
con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = F:\edition des cycles\WindowsApplication1\Editiondescycle.mdb"
Dim Mycommand As OleDbCommand = con.CreateCommand()

Mycommand.CommandText = "INSERT INTO Fichetraitement([Num fiche], Commande, Client, Tissu, [Num etape], Etape, Machine, Temp, Eau, [Température], [Produit1], [Concentration1], [Produit2], [Concentration2], [Produit3], [Concentration3], Commentaire, Coloris, Saison, [Dtae creation]) VALUES ('a','b','c','d','ee','f','g',h,i,j,'k','l','m','n','o','p','cc','aa','bb',#r#)"
Mycommand.Parameters.AddWithValue("a", TextBox1.Text)
Mycommand.Parameters.AddWithValue("b", ComboBox2.Text)
Mycommand.Parameters.AddWithValue("c", TextBox3.Text)
Mycommand.Parameters.AddWithValue("d", TextBox4.Text)
Mycommand.Parameters.AddWithValue("r", CDate(DateTimePicker1.Text))
Mycommand.Parameters.AddWithValue("aa", TextBox36.Text)
Mycommand.Parameters.AddWithValue("bb", TextBox37.Text)
Mycommand.Parameters.AddWithValue("cc", RichTextBox1.Text)
Mycommand.Parameters.AddWithValue("ee", TextBox2.Text)
Mycommand.Parameters.AddWithValue("f", ComboBox1.Text)
Mycommand.Parameters.AddWithValue("g", ComboBox3.Text)
Mycommand.Parameters.AddWithValue("h", NumericUpDown1.Text)
Mycommand.Parameters.AddWithValue("i", NumericUpDown2.Text)
Mycommand.Parameters.AddWithValue("j", NumericUpDown3.Text)
Mycommand.Parameters.AddWithValue("k", ComboBox4.Text)
Mycommand.Parameters.AddWithValue("l", TextBox5.Text)
Mycommand.Parameters.AddWithValue("m", ComboBox5.Text)
Mycommand.Parameters.AddWithValue("n", TextBox6.Text)
Mycommand.Parameters.AddWithValue("o", ComboBox6.Text)
Mycommand.Parameters.AddWithValue("p", TextBox7.Text)

con.Open()
Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()

myReader.Close()
con.Close()

End If



Mon code est en visual basic 2010 l'erreur qui ma aperçu est "Erreur de syntaxe dans la date dans l'expression '#r#'."
dans ma base de données access le champ date création est de type date
s'il vous plait mes amis c'est grand souci pour moi je suis vraiment besoin pour votre aide
en attendons de vos meilleurs réponse veuillez agréer toutes mes sincères salutations.
A voir également:

30 réponses

Messages postés
32
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
25 décembre 2014

bon dans ce cas c'est-à-dire lorsque je remplace datetimepicker.text par datetimepicker.value tous les champs prend la même format de la date et aussi je l'ai modifié au niveau de la base de données
Et voici le type de format qui est de type long
#4/15/2012 11:22:52 PM#
Mais toujours même erreur qui est :
Type de données incompatible dans l'expression du critère.

Bonjour,

[i]Et voici le type de format qui est de type long
#4/15/2012 11:22:52 PM# /i

L'heure que tu montres-là représente 23:22:52 à peu près partout à l'extérieur des États-Unis. Ils ont AM entre minuit et midi et PM entre midi et minuit. Donc 13 h dans les Eupopes c'est 1 h PM aux États.

Si ton format Access et ton format VB sont bien des formats sur 12 heures, il faut croire que le problème vient de la formulation de l'instruction SQL

Bonjour,

Ton problème doit ressembler à cela

http://support.microsoft.com/kb/175258/en-us?fr=1' target='_blank'>Attention c'est une traduction française faite par une machine.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

Mycommand.CommandText = "INSERT INTO Fichetraitement(Commande, Client, Tissu, [Num etape], Etape, Machine, Temp, Eau, [Température], [Produit1], [Concentration1], [Produit2], [Concentration2], [Produit3], [Concentration3], Commentaire, Coloris, Saison, [Dtae creation]) VALUES ('valcommande','client','tissu',numetape,'nometape','nommachine',valtemp,valeau,valtemperature,'valprod1','valconcentration1','valprod2','valconcentration2','valprod3','valconcentration3','commentaire','valcoloris','valsaison',#datecreation#)"
            Mycommand.Parameters.AddWithValue("valcommande



pourquoi [Num etape] et non Num etape
et ainsi toutes les champs avec les []
c'est Date creation ou Dtae creation
msdn

citation du msdn
Utilise des marqueurs de paramètres positionnels indiqués par un point d'interrogation (?).



et aussi vaut mieux utiliser

command.Parameters.Add("valcommande", OleDbType.BSTR).Value = TextBox3.Text
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
J'ai de mon côté essayé de fouiner >>>
A lire, pour ce qui est de la méthode générale :
Tapez le texte de l'url ici.

Reste probablement le format à modifier de sorte à correspondre à la définition du champ de date.
Je me demande si le plus simple ne serait pas tout simplement de donner au paramètre la valeur "interne" de la date (équivalent du dateserial de VB6 ?), de sorte à éviter d'éventuels conflits entre les formats dd/mm/yyyy (français) et mm/dd/yyyy (utilisé systématiquement par Access, par exemple)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
32
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
25 décembre 2014

oui t'a raison ici ils ne sont pas de même format et je n'ai pas trouver dans msdn comment je peut faire pour que la time prend format 24H.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Je ne le sais pas non plus (VB.Net, ce n'est pas mon truc).
Mais regarde TimeSerial et DateSerial dans MSDN.
Regarde par exemple ici : Tapez le texte de l'url ici.
Une partie appelle mon attention :
Since every Date value is supported by a System.DateTime structure, its methods give you additional options in assembling a Date value. For example, you can employ one of the overloaded DateTime constructors to populate a Date variable using the desired combination of components. The following example sets newDateTime to May 6, 1978 at one tenth of a second before 8:30 in the morning:

Dim newDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)


Tu n'as probablement pas à aller jusqu'au 10ème de seconde et la dernière valeur (900) de cet exemple pourrait probablement être ignorée.
Passer par des dates et heures internes peut être salvateur.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
32
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
25 décembre 2014

je suis sous visual basic 2010
bon pour Dtae creation c'est correcte comme celle de la base de données
pour les [] parce que les champs comporte des caractères spéciaux
Messages postés
32
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
25 décembre 2014

Merci tous pour vos aides et j'attend encore vos commentaires
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,
Cela me parait correspondre à ce dont je te parlais plus haut, à savoir :
qui, selon moi, devrait être écrite sans le Cdate ===>> genre :
Mycommand.Parameters.AddWithValue("r", "chaine_de_caractères" )

et devrait donc également marcher en remplaçant (dans tes VALUES) #r# par "r" (dans ton tout premier code). Il me semble... pour correspondre à ce dont je t'avais également parlé ===>>
Et comment espérer la reconnaissance d'un paramètre #r#, alors qu'a été ajouté un paramètre "r"

Mais bon... je suis loin d'être sûr de ma mémoire.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ