Erreur de systax

Résolu
DanMor498 Messages postés 120 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 novembre 2012 - 2 janv. 2008 à 08:19
DanMor498 Messages postés 120 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 novembre 2012 - 2 janv. 2008 à 17:26
Imports



System.Data


Imports
system.Data.OleDb


Imports
dao


Imports
dao.LanguageConstants


Public






Class
Form1


'Déclarer la connexion

Private
Cnx

As
OleDbConnection


' Déclaration l'Objet Commande

Private
Cmd

As
OleDbCommand


'Paramètres de connexion

Private
CnxStr

As



String

Public



Sub
CreateBDD()


Try

'Dim result As Boolean = False

Dim
dbe

As



New
DBEngine


Dim
db

As
Database
db = dbe.CreateDatabase(Application.StartupPath &

"\Calendrier.mdb"
, dbLangGeneral)


If



Not
(db

Is



Nothing
)

Then
db.Close()


Catch
ex

As
Exception
MsgBox(

"Erreur de création de la base de donnée"
& vbCrLf & ex.Message, ,

"Erreur"
)


End



Try

End



Sub






Public



Sub
CreateTable()CnxStr "Provider Microsoft.Jet.OLEDB.4.0 ; Data Source = "
& Application.StartupPath &

"\Calendrier.mdb;"

Cnx =




New
OleDbConnection


'Donner à la propriété ConnectionString les paramètres de connexion

Cnx.ConnectionString = CnxStr


'Ouvrir la connexion

Cnx.Open()


'Instancier un objet Commande

Cmd =

New
OleDbCommand


'Lier Commande et Connexion

Cmd.Connection = Cnx


'Indiquer le type de commande

Cmd.CommandType = CommandType.Text


'Create Table Commande


Cmd.CommandText =

"CREATE TABLE "
& tssl2.Text &

" (ID AUTOIncrement NOT NULL PRIMARY KEY, HEURES VARCHAR(10) NOT NULL, DESCRIPTION MEMO NOT NULL)"






'on exécute la commande

cmd.ExecuteNonQuery()


'Fermer la connexion

Cnx.Close()


End



Sub






Private



Sub
MonthCalendar1_DateChanged(

ByVal
sender

As
System.Object,

ByVal
e

As
System.Windows.Forms.DateRangeEventArgs)

Handles
MonthCalendar1.DateChanged


If
e.Start.ToLongDateString = Format(DateString,

"Long Date"
)

Then

tssl2.Text = e.Start.ToLongDateString


Else

tssl2.Text = e.End.ToLongDateString


End



If

End



Sub






Private



Sub
MonthCalendar1_DateSelected(

ByVal
sender

As



Object
,

ByVal
e

As
System.Windows.Forms.DateRangeEventArgs)

Handles
MonthCalendar1.DateSelected


Dim
NomB

As



String
= Application.StartupPath &

"\Calendrier.mdb"

If
e.Start.ToLongDateString = Format(DateString,

"Long Date"
)

Then

CreateTable()


Else

CreateTable()


End



If

End



Sub






Private



Sub
Form1_Load(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles



MyBase
.Loadtssl2.Text = Format(DateString,


"Long Date"
)


Dim
NomB

As



String
= Application.StartupPath &

"\Calendrier.mdb"

If
Len(Dir(Application.StartupPath &

"\Calendrier.mdb"
, FileAttribute.Normal)) <> 0

Then

tssl1.Text =

"Prêt"

Else

CreateBDD()
tssl1.Text =

"Base créer"

End



If

End



SubEnd





Class


Voila j'utilise ceci pour le debut de mon programme  d'agenda
Mais voila que je recois toujours cette mauditte erreur

Erreur de syntaxe dans l'instruction CREATE TABLE.
Exception non gerer

Pourtant je me sert de cette meme fonction ailleur et ca fonctionne
est ce que quelqu'un peut me dire ce que je fais qui ne va pas

DanMor

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 janv. 2008 à 08:33
encadre les noms... places des ` par exemple

en Long Date, tu dois avoir genre:

mercredi 2 janvier 2008

superbe nom de table...
mais dans la requete, le premier espace doit tout faire péter...

CREATE mercredi 2 janvier 2008 ...
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 janv. 2008 à 11:23
salut

tu vas peut-être ensuite avoir une surprise avec ce test :

If e.Start.ToLongDateString = Format(DateString,
"Long Date")
Then
CreateTable()

Else
CreateTable()

End
If

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 janv. 2008 à 15:59
encadrer les noms....

CREATE TABLE `2 janvier 2008` (`ID` AUTOIncrement .........


ce genre de chose, en somme
3
DanMor498 Messages postés 120 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 novembre 2012
2 janv. 2008 à 16:41
ca fonctionne pas et jai toujours le meme probleme avec la commande

elle n'accepte pas les & quand je les enleve la commande fonctionne 

mais pas le bon nom de table est creer y a pas une autre facon faire et moin compliquer que cette commande 
Merci pour vos reponse les amis

DanMor
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 janv. 2008 à 16:45
n'accepte pas les & ??????

les & sont à placer a l'exterieur des quotes... comme d'habitude :

Cmd.CommandText = "CREATE TABLE `" & tssl2.Text & "` (`ID` AUTOIncrement NOT NULL PRIMARY KEY, `HEURES` VARCHAR(10) NOT NULL, `DESCRIPTION` MEMO NOT NULL)"
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 janv. 2008 à 17:01
surprise avec....

SI aujourd'hui=mercredi
..."ON EST MERCREDI"
SINON
..."ON EST QUAND MÊME MERCREDI" ?!!!!

que ton test de date (qui d'ailleurs me choque un peu...) soit vrai ou faux, tu vas quand même créer ta table
c'est çà la surprise :)
3
DanMor498 Messages postés 120 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 novembre 2012
2 janv. 2008 à 15:56
en fait pour l'instant c'est plutot
2 janvier 2008 Mais je comprend pas ou je dois placer les ( ' )

et PCPT Que veut tu dire par avoir des surprises avec

If e.Start.ToLongDateString = Format(DateString, "Long Date")
Then
CreateTable()

Else
CreateTable()
EndIf

DanMor
0
DanMor498 Messages postés 120 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 novembre 2012
2 janv. 2008 à 17:21
en faite avec le calendrier je le fais comme ca pour differencier le clique sur la date  plutot bizare je sais mais ca fonctionne et mes tables sont creer avec les date cliquer et les champs approprier  maintenant il me rest qua finir le programme et voir ce que ca donne.Et en passant merci beaucoup PCPT ton dernier truc 
ca fonctionne et je ne placait pas les ` a la bonne place MERCI.   

DanMor
0
DanMor498 Messages postés 120 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 7 novembre 2012
2 janv. 2008 à 17:26
Encore Merci a tous ceux qui se donne le trouble de repondre a mes ?

Ca fait longtemps que je travaille a remplacer le registre par une base de données
 Je vais vois si ca fonctionne 

a+  
DanMor
0
Rejoignez-nous