cs_mymy45
Messages postés4Date d'inscriptionlundi 29 mars 2010StatutMembreDernière intervention24 mai 2010
-
23 mai 2010 à 15:01
cs_mymy45
Messages postés4Date d'inscriptionlundi 29 mars 2010StatutMembreDernière intervention24 mai 2010
-
24 mai 2010 à 19:03
Bonjour !!!
j'ai un ptit problème présentement je suis entrain d'effectuer un travail pratique à l'école où nous devons monter un calendrier dynamique..... pour cette partie tout est merveilleux.... mais l'autre partie il faut que je sois capable d'aller lire une base de donnée sql mais que j'insère les réservations aux bons endroits.....
exemple j'ai une réservation dans la classe 3 pour l'alcan le 28 mai 2010... il faut que je sois capable de le positionner à la bonne place..... je suis présentement en connecté ...
et le tout est avec un user control
voici le code qu'il y a de fait présentement
j'espère que vous pourrez m'aider
Imports System.Data.SqlClient
Public Class Calendrier
' variables globales
Private _cn As SqlConnection
Private _com As SqlCommand
Private _DR As SqlDataReader
Public cours(,) As Label
Public jj() As String = {"LUN", "MAR", "MER", "JEU", "VEN", "SAM", "DIM"}
Public Jour(6) As Label
Public lblJour(6) As Label
Public Lundi, Dimanche As Date
Private _NbreClasse As Integer = 4
Public Property NbClasse() As Integer
Get
Return _NbreClasse
End Get
Set(ByVal value As Integer)
_NbreClasse = value
End Set
End Property
Public Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CreerCalendrier()
CreerCalendrierPM()
MettreReservation() ' c,est ici que j'ai un bug
End Sub
' création de mes labels pour mon calendrier
Public Sub CreerCalendrier()
ReDim cours(6, _NbreClasse - 1)
Dim Jour As Integer
Dim Classe As Integer
Dim cpt As Integer
For Jour = 0 To 6
For Classe = 0 To _NbreClasse - 1
cours(Jour, Classe) = New Label
cours(Jour, Classe).BorderStyle = Windows.Forms.BorderStyle.Fixed3D
cours(Jour, Classe).TextAlign = ContentAlignment.MiddleCenter
cours(Jour, Classe).Visible = True
cours(Jour, Classe).Width = 91
cours(Jour, Classe).Height = 25
cours(Jour, Classe).Text = cpt
cpt += 1
cours(Jour, Classe).Left = 20 + Jour * 91
cours(Jour, Classe).Top = 150 + Classe * 25 + _
(_NbreClasse * 25)
Me.Controls.Add(cours(Jour, Classe))
Next
Next
CreerEntete()
CreerJour()
End Sub
Private Sub CreerCalendrierPM()
ReDim cours(6, _NbreClasse - 1)
Dim date1 As Date = Today
Dim Jour As Integer
Dim Classe As Integer
Dim cpt As Integer
For Jour = 0 To 6
For Classe = 0 To _NbreClasse - 1
cours(Jour, Classe) = New Label
cours(Jour, Classe).BorderStyle = Windows.Forms.BorderStyle.Fixed3D
cours(Jour, Classe).TextAlign = ContentAlignment.MiddleCenter
cours(Jour, Classe).Visible = True
cours(Jour, Classe).Width = 91
cours(Jour, Classe).Height = 25
cours(Jour, Classe).Text = cpt
cpt += 1
cours(Jour, Classe).Left = 20 + Jour * 91
cours(Jour, Classe).Top = 300 + Classe * 25 + _
(_NbreClasse * 25)
Me.Controls.Add(cours(Jour, Classe))
Next
Next
CreerEntete()
CreerJour()
End Sub
' Créer le titre.... le mois
Private Sub CreerEntete()
lblMois.Text = UCase(Format(Today, "MMMM")) & " " & Today.Year
lblMois.TextAlign = ContentAlignment.MiddleCenter
lblMois.BackColor = Color.Cornsilk
End Sub
' Créer les jours de la semaine
Private Sub CreerJour()
Dim i As Integer
For i = 0 To jj.Length - 1
Jour(i) = New Label
Jour(i).Visible = True
Jour(i).Width = 91
Jour(i).Height = 40
Jour(i).Text = jj(i)
Jour(i).TextAlign = ContentAlignment.MiddleCenter
Jour(i).Left = 96 * i
Jour(i).Top = 150
Jour(i).BorderStyle = Windows.Forms.BorderStyle.Fixed3D
Jour(i).BackColor = Color.BlanchedAlmond
Me.Controls.Add(Jour(i))
Next
End Sub
Private Sub CreerBoutonDeplacement()
' création du bouton de navigation précédent
cmdPrecedent.Text = "<"
cmdPrecedent.TextAlign = ContentAlignment.MiddleCenter
cmdPrecedent.Width = 40
cmdPrecedent.Height = 40
cmdPrecedent.Left = 0
cmdPrecedent.Top = 0
Me.Controls.Add(cmdPrecedent)
' création du bouton de navigation suivant
cmdSuivant.Text = ">"
cmdSuivant.TextAlign = ContentAlignment.MiddleCenter
cmdSuivant.Width = 40
cmdSuivant.Height = 40
cmdSuivant.Left = 390
cmdSuivant.Top = 0
Me.Controls.Add(cmdSuivant)
AddHandler cmdPrecedent.Click, AddressOf SemainePrecedente
AddHandler cmdSuivant.Click, AddressOf SemaineSuivante
End Sub
Private Sub SemainePrecedente(ByVal sender As System.Object, ByVal e As System.EventArgs)
PlacerJour(DateAdd(DateInterval.Day, -7, lblJour(0).Tag), DateAdd(DateInterval.Day, -14, lblJour(0).Tag))
End Sub
Private Sub SemaineSuivante(ByVal sender As System.Object, ByVal e As System.EventArgs)
PlacerJour(DateAdd(DateInterval.Day, 7, lblJour(0).Tag), DateAdd(DateInterval.Day, 14, lblJour(0).Tag))
End Sub
Private Sub PlacerJour(ByVal Lundi As Date, ByVal Dimanche As Date)
lblMois.Text = UCase(Format(Lundi, "MMMM")) & " " & Lundi.Year
Dim Jour As Date = Lundi
For i = 0 To 6
lblJour(i).Text = Jour.Day
lblJour(i).Tag = Jour
Jour = DateAdd(DateInterval.Day, 1, Jour)
Next
' vider classe
End Sub
Private Sub MettreJour(ByVal Lundi As Date, ByVal Dimanche As Date)
lblMois.Text = UCase(Format(Lundi, "MMMM")) & " " & Lundi.Year
Dim cptJour As Integer = 1
Dim Jour As Date = Lundi
' Dim Journee As Integer = DateAdd(DateInterval.Day, -1 * (date1.Day - 1), date1).DayOfWeek
Dim PremierJour As Date = Jour
For i = 0 To 6
lblJour(i) = New Label
lblJour(i).Visible = True
lblJour(i).Width = 91
lblJour(i).Height = 40
lblJour(i).Text = Jour.Day
lblJour(i).Tag = Jour
Jour = DateAdd(DateInterval.Day, 1, Jour)
lblJour(i).TextAlign = ContentAlignment.MiddleCenter
lblJour(i).Left = 96 * i
lblJour(i).Top = 125
lblJour(i).BorderStyle = Windows.Forms.BorderStyle.Fixed3D
lblJour(i).BackColor = Color.BlanchedAlmond
Me.Controls.Add(lblJour(i))
Next
End Sub
Private Sub cmdSuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSuivant.Click
PlacerJour(DateAdd(DateInterval.Day, 7, lblJour(0).Tag), DateAdd(DateInterval.Day, 14, lblJour(0).Tag))
End Sub
Private Sub cmdPrecedent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrecedent.Click
PlacerJour(DateAdd(DateInterval.Day, -7, lblJour(0).Tag), DateAdd(DateInterval.Day, -14, lblJour(0).Tag))
End Sub
' propriété des mes variables
Public Property CN() As SqlConnection
Get
Return _cn
End Get
Set(ByVal value As SqlConnection)
value = _cn
End Set
End Property
Public Property COM() As SqlCommand
Get
Return _com
End Get
Set(ByVal value As SqlCommand)
value = _com
End Set
End Property
Public Property DR() As SqlDataReader
Get
Return _DR
End Get
Set(ByVal value As SqlDataReader)
value = _DR
End Set
End Property
' J'effectue ma connexion losque j'instancie .....
Public Sub CreerConnexion()
CN = New SqlConnection
CN.ConnectionString = My.Settings.p54
CN.Open()
End Sub
' Méthode pour ma commandeSQL pour effectuer la requête d'aller chercher les réservations
Public Sub LireReservation()
COM = New SqlCommand
COM.CommandType = CommandType.Text
COM.Connection = CN
COM.CommandText = "SELECT * FROM T_Reservations WHERE res_date BETWEEN @DateDebut AND @DateFin ORDER BY res_date"
' paramètres
COM.Parameters.Add("@DateDebut", SqlDbType.DateTime)
COM.Parameters.Add("@DateFin", SqlDbType.SmallDateTime)
End Sub
Private Sub MettreReservation(ByVal PremierJour As Date, ByVal DernierJour As Date)
' Cette méthode va permettre de lire et de placer les réservations dans
'mon calendrier
Dim Jour, classe As Integer
PremierJour = ' j'ai un peu de misère à continuer mon idée !!! :)
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 20181 24 mai 2010 à 14:01
Salut mymy45,
Je viens d'éditer une source "GESTIONNAIRE DE BASE ADO" ou je connecte tout un tas d'éléments dont une classe qui essai de gerer une base ADO a l'aide d'un Usercontrol (FlexMajor).
C'est très abstrait comme prog mais j'espere que tu y trouvera des idées