Effacer un seul enregistrement dans une table
l'exemple suivant permet de supprimer un seul enregistrement , l'utilisateur devra saisir l'id à supprimer
Ensuite, nous recherchons dans la base l'id et nous supprimons l'enregistrement lié.
une fois notre enregistrement supprimé, nous quittons la boucle while
Script:
$ado = New-Object -ComObject ADODB.Connection
$ado.open("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=D:\W2K8\cours\script powershell\base de données\contact.accdb")
$recordset = New-object -ComObject ADODB.Recordset
#le curseur et vérrou indique la manière dont les données seront enregistrées dans la table
$curseur = 3
$verrou = 3
$query = "Select * from contacts"
$recordset.open($query,$ado,$curseur,$verrou)
#on se positionne sur le premier enregistrement
$recordset.MoveFirst()
$efface=read-host "indiquez l'id à supprimer?"
#tant qu'il y'a des enregistement dans la base
while(-not $recordSet.EOF)
{
#si l'id correspong à celui saisit par l'utilisateur, on affiche le nom et l'id pui
#on efface
if($recordset.Fields.item("ID").value -eq $efface
{
$recordSet.Fields.Item("NOM").value
$recordSet.Fields.Item("ID").value
$recordset.delete()
break
}
$recordset.MoveNext()
}
$recordset.Close()
$ado.close()