Enregistrement automatique de vos médias

Description

Voila une petite application inspirée de celle-ci http://vbfrance.com/code.aspx?ID=35099 qui permet à l'insertion d'un support d'enregistrer facilement vos fichiers en base de données, en les renomant si besoin, et en les classant par type (ou thème).

Source / Exemple :


Private Sub CmdEnregistrer_Click()
    Dim cnx As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim req As String
    Dim temp As String
    Dim typeM As String
    Dim iPos As Integer
    Dim noRecord As Boolean
    Dim compte As Integer
    noRecord = False
    compte = 0
    'Ajout des fichiers a la base de donnees
    If ComboType.Text = "Type de média" Or ComboType.Text = "Autre" Then
        MsgBox "Sélectionnez dabord un type de média !"
    Else
        Unload FormListe
        iPos = 0
        'Connection à la BdD
        req = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DVDcollection.mdb;Persist Security Info=False"
        cnx.Open req
        While (cnx.State = adStateConnecting)
            DoEvents
        Wend
Un:
        If List.SelCount > 0 Then   'Si au moins un enregistrement est sélectionné
            If List.Selected(iPos) Then 'Si l'enregistrement en iPos est sélectionné
                If List.List(iPos) <> "" Then
                    temp = Replace(List.List(iPos), "'", "''")
                    'Vérifie si l'enregistrement n'est pas deja en base de données
                    req = "Select Count (*) From TabMedia Where MediaNom = '" & temp & "'"
                    rst.Open req, cnx
                    If rst.Fields(0) = 0 Then
                        'si non present : ajout a la bdd
                        req = "Insert Into TabMedia(MediaNom, MediaType) Values ('" & temp & "','" & ComboType.Text & "')"
                        cnx.Execute req
                        'suppression du listing
                        List.RemoveItem (iPos)
                    Else
                        'Si present en bdd : on déselectionne
                        List.Selected(iPos) = False
                        noRecord = True 'au moins un enregistrement n'est pas effectué
                        compte = compte + 1 'nb d'enregistrement sautés
                    End If
                    rst.Close
                    GoTo Un
                End If
            Else    'on passe a l'enregistrement suivant
                iPos = iPos + 1
                GoTo Un
            End If
            cnx.Close
        End If
        'charge la liste avec le type de média qui vient d'etre enregistre
        FormListe.ComboType2.Text = ComboType.Text
        CheckSelectAll.Value = 0
    End If
    'indique le nombre d'occurences non enregistrees
    If noRecord Then MsgBox compte & " médias présents en base de données n'ont pas été enregistrés !"
    If List.ListCount = 0 Then TextRenomme.Text = ""
End Sub

Conclusion :


Cela ne paye pas de mine, mais reste pratique, je suis ouvert à toute critique (constructive) à tous niveaux (code, commentaire,...)
J'hésitais à partager la source mais vu que j'ai quelques personnes qui la trouvent interressante et l'utilise, on ne sait jamais !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.