منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[مشروع] تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أمثلة ومشاريع قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=77)
+--- الموضوع : [مشروع] تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] (/showthread.php?tid=17443)



تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] - سعود - 25-09-16

PHP كود :
Imports compact_dll
Imports System
.IO

Public Class Form1
    Dim con 
As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
 
   Dim dt As DataTable
    Dim da 
As OleDb.OleDbDataAdapter
    Dim dt2 
As DataTable
    Dim da2 
As OleDb.OleDbDataAdapter

    Dim cm 
As OleDb.OleDbCommandBuilder

    Private Sub gd
()
 
       dt = New DataTable
        da 
= New OleDb.OleDbDataAdapter("select * from tb where countryid=0"con)
 
       dt2 = New DataTable
        da2 
= New OleDb.OleDbDataAdapter("select * from tb where countryid<>0"con)
 
       cm = New OleDb.OleDbCommandBuilder(da)
 
       da.Fill(dt)
 
       da2.Fill(dt2)
 
       countries.DataSource dt
        countries
.DisplayMember "countryorcity"
 
   End Sub
    Private Sub Form1_Load
(sender As System.ObjectAs System.EventArgsHandles MyBase.Load
        gd
()
 
   End Sub

    Private Sub countries_SelectedIndexChanged
(sender As System.ObjectAs System.EventArgsHandles countries.SelectedIndexChanged
        If dt
.Rows.Count 0 Then Exit Sub
        If countries
.SelectedIndex = -1 Then Exit Sub
        If countries
.Items.Count <= 0 Then Exit Sub

        cities
.Items.Clear()
 
       For r 0 To dt2.Rows.Count 1
            If dt2
.Rows(r)(2) = dt.Rows(countries.SelectedIndex)(0Then
                cities
.Items.Add(dt2.Rows(r)(1))
 
           End If
 
       Next


    End Sub


    Private Sub Button2_Click
(sender As System.ObjectAs System.EventArgsHandles Button2.Click
        Dim a 
As String InputBox("أكتب اسم دولة")
 
       If a.ToString.Trim "" Then Return

 
       Dim row As DataRow dt.NewRow
        row
(1) = a
        row
(2) = 0
        dt
.Rows.Add(row)
 
       da.Update(dt)
 
       gd()
 
       countries.Refresh()
 
       countries.SelectedIndex countries.Items.Count 1

    End Sub

    Private Sub Button1_Click
(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        If countries
.SelectedIndex = -1 Then Exit Sub
        Dim pos 
As Integer countries.SelectedIndex
        Dim a 
As String InputBox("أكتب اسم مدينة")
 
       If a.ToString.Trim "" Then Return

 
       Dim row As DataRow dt.NewRow
        row
(1) = a
        row
(2) = dt.Rows(countries.SelectedIndex)(0)
 
       dt.Rows.Add(row)
 
       da.Update(dt)
 
       gd()
 
       Me.BindingContext(dt).Position pos
        cities
.Refresh()
 
       cities.SelectedIndex cities.Items.Count 1
    End Sub



    Private Sub Button3_Click
(sender As System.ObjectAs System.EventArgsHandles Button3.Click
        
'MsgBox(New AccessRepairForVb4arbUsers.Class1().replyaccess(Application.StartupPath & "\db.accdb", ""))
        Dim d As New compact_dll.Class1
        Dim f As String = Application.StartupPath & "\db.accdb"
        Dim fl As New FileInfo(f)

        ' 
MsgBox(fl.FullName)

 
       MsgBox(d.replyaccess(fl.FullName"").ToString)

 
   End Sub
End 
Class 



RE: تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] - أبو عمر - 25-09-16

Ya Muslim
فاتح موضوع جديد وحط أفكارك وبما ان العمل لله إن شاء الله تجد المساعدة
ولاتحرم اخوانك من دعواتك

يا سعود اتوقع اذا فتح الجدول راح تلاقي مصر مثلا مكررة بعدد المدن صح؟
فكرتني بأحد الاخوة احيانا يضع في الجدول 90 حقل
كل هذا عشان ما دخلت مخه Inner join


RE: تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] - ممدوح - 26-09-16

(25-09-16, 10:01 PM)Ana Muslim كتب :
(25-09-16, 09:57 PM)أبو عمر كتب : Ya Muslim
فاتح موضوع جديد وحط أفكارك وبما ان العمل لله إن شاء الله تجد المساعدة
ولاتحرم اخوانك من دعواتك

شكراً لك اخي ابو عمر ... سأطلب المساعدة من صديق ... 
و انا اعتذر من الاخ سعود لاني كتبت سؤال لا علاقة له بموضوعه 
لقد كتبته هنا لاني لم استطع ارسال رسالة خاصة له... المهم سأمسح تعليقاتي غداً
و اكرر شكري لك اخي ابو عمر  Heart

الأخ أبو عمر يقصد افتح موضوع جديد في قسم الأسئلة وستجد المساعدة ممن يملك الوقت والعلم.
والأخ سعود والاخ ابوعمر مشهود لهم بتقديم المساعدة دون أن تطلب منهم (طبعا حسب ظروفهم).
وأيضا هناك أعضاء آخرون ستشاهدهم ما أن تفتح الموضوع الخير.
وربنا يوفقك لفعل الخير.


RE: تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] - سعود - 26-09-16

(25-09-16, 09:57 PM)أبو عمر كتب : Ya Muslim
فاتح موضوع جديد وحط أفكارك وبما ان العمل لله إن شاء الله تجد المساعدة
ولاتحرم اخوانك من دعواتك

يا سعود اتوقع اذا فتح الجدول راح تلاقي مصر مثلا مكررة بعدد المدن صح؟
فكرتني بأحد الاخوة احيانا يضع في الجدول 90 حقل
كل هذا عشان ما دخلت مخه Inner join

والله فعلا اخي "ابوعمر"
اي شغلة مااستطيع افهمها (حاليا بالذات) مااستخدمها ولو استوعبها بحيث استطيع التلاعب بها  اتعامل معها.
فعلا  Inner join غامضة بالنسبة لي.

اما بالنسبة للفكرة فهي مثل فكرة منتدى mybb و vbulletin  لاحظت ان جدول المواضيع والمشاركات هو posts والفرق بقيمة عمود نسيت اسمه المهم قلدتها بالمثال هذا.
اما التكرار بالفكرة ممكن نتحاشاها بالطريقة اللي تعرفها لكن هذا على السريع.


RE: تطبيق فكرة جدولين لكن بجدول واحد فقط [الدول و المدن] - أبو عمر - 26-09-16

http://www.w3schools.com/sql/sql_join_inner.asp
على اليسار المواضيع المتعلقة ب Inner Join
ان شاء الله تسهل عليك التعامل بها مع الجداول المترابعة وحتى غير المترابطة