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 28
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
Rejoignez-nous