PDA

View Full Version : سوال: نمايش شماره ركورد جاري به همراه شماره كل ركورد ها در يك Text box



bahmanalidadi
چهارشنبه 06 بهمن 1389, 13:21 عصر
باز هم سلام
من ميخوام شماره ركورد جاري را به همراه شماره كل ركورد ها را در يك Text box نمايش بدم
ازتون ممنون ميشم اگه جواب سوالم رو بدين.

mahdi_107
پنج شنبه 07 بهمن 1389, 06:57 صبح
سلام
دراين مورد زياد صحبت شده ولي بازم باشه

65614

bahmanalidadi
شنبه 09 بهمن 1389, 20:46 عصر
سلام دوست عزيز.
چي شد؟
چرا ادامه اش رو نگفتي.
خواهش ميكنم اگه چيزي ميدوني توضيح بده.

mahdi_107
یک شنبه 10 بهمن 1389, 07:21 صبح
خوب اخوي برات يك نمونه گذاشتم ديگه (Navigation.rar (http://barnamenevis.org/attachment.php?attachmentid=65614&d=1296100658))

bahmanalidadi
یک شنبه 10 بهمن 1389, 13:37 عصر
سلام دوست عزيز، ولي من ميخواهم توضيح بدين كه چه طوري اين كار رو انجام داديد، آخه ميخواهم ياد بگيرم.
بازهم ممنون از لطفتون.

mahdi_107
دوشنبه 11 بهمن 1389, 06:57 صبح
براي نمايش ركورد جاري در فرم مورد نظر يك تكست ايجاد كن (مثلا Text0) سپس در Form_Current كد زير را واد كن


Text0 = CurrentRecord

اين شد ركورد جاري

mahdi_107
دوشنبه 11 بهمن 1389, 07:26 صبح
اما براي بدست آوردن كل ركوردها روش هاي مختلفي است كه من يكي از ساده ترين اونا رو مي گم
شما يك كيوري از جدول مورد نظر ايجاد كنيد البته فقط با انتخاب يك فيلد (مثلا فيلد ID تيبلتون)
حال در قسمت Total فيلد مورد نظر در ديزاين كيوري (قسمت Total را مي توانيد توسط view و انتخاب Total فعال كنيد) گزينه count را انتخاب نماييد
حال اگر كيوري را اجرا نماييد مجموع ركوردهاي تيبل مورد نظر براي شما نمايش داده خواهد شد

حال در فرم مورد نظر يك تكست ديگر ايجاد نموده (مثلا Text6) و كد زير را در Form_Current وارد نماييد

Text6 = DLookup("[CountOfID]", "Query1")توجه داشته باشيد Query1 نام همان كيوري است كه ايجاد نموديد و CountOfID نام فيلديست كه در كيوري count آن را بدست آورديد (مثلا اگر فيلد شما m باشد اين مي شود CountOfm)

خوب اگر مراحل را درست رفته باشيد حال مجموع ركورد ها هم براي شما نمايش داده مي شود

حالا يك مورد:
اگر در navigation خود اكسس دقت كني مجموع ركوردها اگر مثلا 24 باشد و شما بخواهيد يك ركورد جديد ايجاد نماييد اين مجموع يكي بيشتر مي شود و اگر آن را ايجاد ننماييد دوباره به حالت قبل بر مي گردد

براي ايجاد اين حالت در همان قسمت Form_Current كد زير را وارد كن

If Text0 > Text6 Then Text6 = Text0به همين راحتي

پس الان كدهاي ما اينجوري شد


Private Sub Form_Current()
Text0 = CurrentRecord
Text6 = DLookup("[CountOfID]", "Query1")
If Text0 > Text6 Then Text6 = Text0
End Sub

mahdi_107
دوشنبه 11 بهمن 1389, 07:37 صبح
البته توضيحات من كاملا جنبه تجربي داره و نمي دونم روش درست و علمي اون هم همينه يا نه به هر حال ...

bahmanalidadi
دوشنبه 11 بهمن 1389, 21:34 عصر
خيلي ممنون از راهنمايي هاتون آقاي Mahdi_107.

mahdi_107
سه شنبه 12 بهمن 1389, 08:55 صبح
سلام
خوب حالا كه سختي كار بدست آوردن مجموع ركورها رو ديدي يك روش ديگه بهت ميگم كه به گمانم منطقي ترين روش باشه واسه بدست اوردن تعداد ركوردها

اين كد را جايگزين كد ....Text6=dlookup كنيد


Text6 = DCount("id", "table1")دستور DCount كار ما رو انجام ميده (ايجاد كيوري مجموع و فراخواني فيلد مجموع)
پارامتر id نام يك فيلد از تيبيل مورد نظره و table1 هم نام جدولمونه
با اين دستور ديگه نيازي به ايجاد كيوري نيست
به همين راحتي