منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : أرجو المساعدة سؤال بسيط
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
أرجو المساعدة سؤال بسيط

كيف أتمكن من حذف أول ثلاث سجلات داخل جدول فى قاعدة بيانات أكسيس (أول ثلاث سجلات فقط )
فالجدول به 50 سجل
استعلم عن ارقم id للاسطر الثلاث الاولى ب TOP
ثم قم بحذفهم ب WHERE

كود :
SELECT TOP 3 id FROM tb

كود :
DELETE FROM tb WHERE id=?
ولكن قد تكون قاعدة البيانات لا بوجد بها حقل اسمه ID

* لذلك الأفضل أن يرفق الشخص السائل نسخة من قاعدة البيانات (فارغة) .
أو على الأقل يذكر أسماء الحقول .
الزملاء و الساتذة الفاضل
Ahmads
و
[b]أبو خالد الشكري[/b]
لكم خالص الشكر
فى البداية  قاعدة البيانات أكسيس بها حقل id مسلسل و مفتاح أساسى
و بها :
كود عميل
اسم عميل
قيمة مبيعات
تفاصيل بيع
و أرغب فى حذف أول 3 صفوف أو سجلات للعميل بكبسة زر واحد
فكيف أستدعى الـ ID الخاص بالسجلات الثلاثة دفعة واحدة و حذفهم بنفس الطريقة دفعة واحدة دون غيرهم
و هل يستخدم فى هذه الحالة loop معينة
أرجو افادتى و مساعدتى جزاكم الله خيرا
و لكم كل التقدير
ضع طريقتك بالكود في تنفيذ الاستعلام الاول الذي في مشاركتي السابقه لنكمل معا
(10-06-22, 07:23 PM)Ahmads كتب : [ -> ]ضع طريقتك بالكود في تنفيذ الاستعلام الاول الذي في مشاركتي السابقه لنكمل معا

شكرا لك أستاذ  Ahmads  لكن للأسف أنا منذ أمس و محتار جدا فى الموضوع و ليس لدى حتى الان فكرة أو طريقة أو كود نفذتها
أنا محتاج مشاركتكم لتنير لى الطريق
أخي Dr. Progamming يفضل أن ترفق نسخة من قاعدة البيانات .. حتى لو كانت  فارغة .
وسنحاول مساعدتك أنا أو الأخ   Ahmads
PHP كود :
Public Class Form1
    Dim dbpath 
As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\db.accdb"
 
   Dim str As String "provider=microsoft.ace.oledb.12.0;data source=" dbpath
    Dim con 
As New OleDb.OleDbConnection(str)
 
   Dim dt As New DataTable
    Dim da 
As New OleDb.OleDbDataAdapter("select * from tb"con)
 
   Dim cm As New OleDb.OleDbCommandBuilder(da)
 
   Private Sub gd()
 
       dt.Clear()
 
       Me.DataGridView1.DataSource Nothing
        Me
.DataGridView1.Rows.Clear()
 
       da.Fill(dt)
 
       Me.DataGridView1.DataSource dt
    End Sub
    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        gd
()
 
   End Sub
    Private Sub aad
(ByVal tn As String)
 
       Dim row As DataRow dt.NewRow
        row
(1) = tn
        dt
.Rows.Add(row)
 
       da.Update(dt)
 
       gd()
 
   End Sub
    Private Sub ddel
(ByVal count As Integer)
 
       Dim i As Integer
        i 
0
        Do Until i 
= (count 1)
 
           dt.Rows(i).Delete()
 
           i += 1
            da
.Update(dt)
 
       Loop
        gd
()
 
   End Sub
    Private 
Function found(ByVal tn As String) As Boolean
        If dt
.Select("tname='" tn "'").Count 0 Then
            Return False
        Else
            Return True
        End 
If
 
   End Function
 
   Private Sub btnadd_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnadd.Click
        Dim a 
As String InputBox("write some name to save.")
 
       If Trim(a.Trim).Trim "" Then Exit Sub
        If found
(a) = False Then
            aad
(a)
 
       Else
            MsgBox
("Name Exist!"MsgBoxStyle.Information"")
 
       End If
 
   End Sub

    Private Sub btndel_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btndel.Click
        If dt
.Rows.Count 0 Then Exit Sub
        If Trim
(txtcount.Text).Trim "" Then Exit Sub
        ddel
(Val(txtcount.Text))
 
       gd()
 
   End Sub
End 
Class 
خلاص إذا حضر الماء بطل التيمم ?
لما يجاوب الأستاذ سعود فيعتبر رده نهائيا  لا رجعة فيه .
الله يحفظك ويجعلك ذخراً لنا .
(10-06-22, 11:23 PM)أبو خالد الشكري كتب : [ -> ]خلاص إذا حضر الماء بطل التيمم ?
لما يجاوب الأستاذ سعود فيعتبر رده نهائيا  لا رجعة فيه .
الله يحفظك ويجعلك ذخراً لنا .

من بعدكم جميعا اخواني الكرام .
والله يحفظكم جميعا.

افضل كود سريع للحذف هو التالي:
PHP كود :
Private Sub ddel(ByVal count As Integer)
 
       Using cmd As New OleDb.OleDbCommand("delete from tb where tid in (select top " count " tid from tb)"con)
 
           If con.State ConnectionState.Closed Then con.Open()
 
           Try
                cmd
.ExecuteNonQuery()
 
           Catch ex As Exception
                MsgBox
(Err.DescriptionMsgBoxStyle.Critical"")
 
           End Try
 
           If con.State ConnectionState.Open Then con.Close()
 
       End Using
        gd
()
 
   End Sub