Services Windows

cs_Adi57
Messages postés
16
Date d'inscription
dimanche 28 janvier 2007
Statut
Membre
Dernière intervention
29 juin 2011
- 24 sept. 2009 à 23:00
elguevel
Messages postés
718
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
- 29 sept. 2009 à 13:55
Bonsoir à tous !

Je souhaiterais créer un service Windows qui executerait des taches hebdomadaires dans le cadre de mon travail.
Le but étant de parcourir une base de données et de créer une feuille Excel après avoir récupéré certaines informations dans la DataBase.

J'ai fait des essais en utilisant des TextBox et un DataGridView que j'ai incorporé à mon Service.

Malheureusement mes controles restent vides.
Pourtant j'ai bien effectué un TableAdapter.Fill.

Je n'arrive pas à m'en sortir.

Votre aide me serait précieuse.

D'avance un grand merci.

4 réponses

Mayzz
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
34
25 sept. 2009 à 02:22
Salut,

Ta demande est très vague. Un morceau de code serait le bienvenue si tu souhaite une réponse précise.

++


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
elguevel
Messages postés
718
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
28 sept. 2009 à 13:58
Un service windows est une sorte d'application cachée (non WinForm) qui tourne en tache de fond... donc mettre des TextBox et un DataGridView dessus me parait un très mauvais départ !

Pour voir les resutlats des actions de ton service, utilise un fichier ou l'observateur d'evenement.
0
cs_Adi57
Messages postés
16
Date d'inscription
dimanche 28 janvier 2007
Statut
Membre
Dernière intervention
29 juin 2011

28 sept. 2009 à 23:29
Bonsoir,
Merci beaucoup pour toutes ces réactions.
Comme vous l'avez certainement constaté, je débute.

Voici mon code

J'ai également un fichier ZIP de cette (tentative) de service.
Mais je ne sais pas comment vous le poster.

Merci à tous.

Imports Microsoft.Office.Interop
Public Class Service1

    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Ajoutez ici le code pour démarrer votre service. Cette méthode doit
        ' démarrer votre service.
        Me.Timer1.Start()
    End Sub

    Protected Overrides Sub OnStop()
        ' Ajoutez ici le code pour effectuer les destructions nécessaires à l'arrêt de votre service.
        Me.Timer1.Stop()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If Weekday(Today) 6 And Format(Now, "HH:mm") "22:00" Then CreerListe()
    End Sub

    Sub CreerListe()
        '  Déclaration des variables
        Dim ExcelApp As New Excel.Application
        Dim Ligne As Long
        Dim NomFeuille As String

        ExcelApp.Workbooks.Add()
        ExcelApp.ActiveWorkbook.Worksheets(1).Select()
        Me.OccasionsBindingSource.Filter = "Vendu=true"

        ' Créer les titres du WorkSheet
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("A1").Value = String.Format("N°")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("B1").Value = String.Format("Marque")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("C1").Value = String.Format("Modèle")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("D1").Value = String.Format("Version")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("E1").Value = String.Format("Couleur")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("F1").Value = String.Format("Cylindrée")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("G1").Value = String.Format("Valeur")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("H1").Value = String.Format("Date d'Entrée")
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("I1").Value = String.Format("Date de Vente")

        '  Remplir la WorkSheet
        For Ligne = 0 To Me.OccasionsBindingSource.Count - 1
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("A" & Ligne + 2).Value = Ligne + 1
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("B" & Ligne + 2).Value = String.Format(Me.DataGridView1.Rows(Ligne).Cells(1).Value)
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("C" & Ligne + 2).Value = String.Format(Me.DataGridView1.Rows(Ligne).Cells(2).Value)
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("D" & Ligne + 2).Value = String.Format(Me.DataGridView1.Rows(Ligne).Cells(3).Value)
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("E" & Ligne + 2).Value = String.Format(Me.DataGridView1.Rows(Ligne).Cells(4).Value)
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("F" & Ligne + 2).Value = Me.DataGridView1.Rows(Ligne).Cells(8).Value
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("G" & Ligne + 2).Value = Me.DataGridView1.Rows(Ligne).Cells(15).Value
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("H" & Ligne + 2).Value = Me.DataGridView1.Rows(Ligne).Cells(18).Value
            ExcelApp.ActiveWorkbook.Worksheets(1).Range("I" & Ligne + 2).Value = Me.DataGridView1.Rows(Ligne).Cells(19).Value

        Next
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("A1:I1").select()

        With ExcelApp.Selection
            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
            .Font.Bold = True
            .font.italic = False
            .Font.ColorIndex = 5
            .Interior.ColorIndex = 48
            .WrapText = True
        End With

        ExcelApp.Columns.AutoFit()
        ExcelApp.ActiveWorkbook.Worksheets(1).Range("A2").Activate()
        ExcelApp.ActiveWindow.FreezePanes = True
        NomFeuille = ("D:\Listes\Liste occasions au " & Format(Today, "d MMMM yyyy") & ".xls")
        ExcelApp.ActiveWorkbook.SaveAs(NomFeuille)
        ExcelApp.Quit()

    End Sub
End Class
0
elguevel
Messages postés
718
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
29 sept. 2009 à 13:55
Je crois que ton probleme vient de ton Timer, tiens j'avais déja repondu à ce probleme :

http://www.vbfrance.com/forum/sujet-SERVICE-WINDOWS-LANCE-DEMARRAGE-MAIS-NE-FAIT-RIEN_1312692.aspx

++
0