PDA

View Full Version : سوال: جمع دو رشته متنی



haddadi2
چهارشنبه 03 تیر 1388, 20:53 عصر
آیا تابعی وجود دارد که دو رشته متنی را با هم جمع کند؟
به عبارت دیگر من می خوام رکوردهای یک فیلد را که متنی است با هم در یک رکورد پشت سر هم بیارم آیا با کوئری میشه اینکار را انجام داد؟

دنیا فراهانی
چهارشنبه 03 تیر 1388, 23:08 عصر
سلام
بله خیلی راحت از طریق کوئری می توان دو تا رشته متنی را در کنار هم آورد و نیازی به تابع نداری فقط داخل کوئری فیلد اول +فیلد دومی کن .
مثلا اگر در جدول فیلد نام و فیلد نام خانوادگی را داری در کوئری به این صورت بنویس
[نام خانوادگی]+[نام]

haddadi2
پنج شنبه 04 تیر 1388, 07:58 صبح
نه، من نمی خوام دوتا فیلد را با هم جمع کنم. من می خوام رکوردهای یک فیلد را در یک جا جمع کنم. مثلا اگه یک فیلد 3 تا رکورد داره تمام رکوردها در یک رکورد کنار هم جمع بشه (این رکوردها عددی نیستند متنی هستند)
تابع sum برای جمع رکوردهای عددی است آیا تابعی برای جمع رکوردهای متنی وجود دارد؟

mosaArabi
پنج شنبه 04 تیر 1388, 09:19 صبح
با سلام
دوست عزیز خانم فراهانی هم آنچه شما خواستید را درست جواب دادند ولی با گذاشتن + نام و نام خانوادگی به همدیگر مرتبط میشوند(علی + کرمی جواب = علیکرمی)
ببین نمونه بدردت میخوره
موفق باشد

haddadi2
پنج شنبه 04 تیر 1388, 11:08 صبح
......................
شما دارید فیلد نام را با نام خانوادگی جمع می کنید اینکه کاری نداره. من منظورم این است که تمام رکوردهای نام در یک فیلد جمع بشوند مثلا نام رکورد اولی علی است و نام رکورد دومی حسین و نام رکورد سومی احمد. همه اینها کنار هم که جمع بشوند میشه علی، حسین، احمد
این برنامه را من لازم دارم و قسمتی از یک برنامه مهم است. خواهش می کنم دقت کنید.
البته من می خواهم ترجیحا با کوئری اینکار صورت بگیره.

mosaArabi
پنج شنبه 04 تیر 1388, 12:42 عصر
دوست عزیز
شما نمونه خودت را بذار تا با نمونه خودت کار بشه . ضمنا داخل نمونت جای جواب را هم مشخص کن و ابنکه جواب چطوری باید باشد را را هم کنارش بصوت متن نشان بده تا ما بفهمیم منظور جنابعالی چیه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

مهدی قربانی
پنج شنبه 04 تیر 1388, 13:34 عصر
سلام
دوست گرامي نتيجه مورد نظر شما با استفاده از حلقه و ركوردست اونم بوسيله كدنويسي VBA امكانپذيره يعني شما بايد يك ركوردست از جدول مورد نظر بگيريد و بعد با حلقه مقادير فيلد نام رو داخل يك متغير رشته بريزيد و نهايتاً مقدار متغيير رو در يك تكست باكس روي فرم يا گزارش نمايش بديد .

h_arman
پنج شنبه 04 تیر 1388, 14:50 عصر
دوست عزیز با این کار جامعیت دیتابیس شما از بین میره. یعنی وجود اطلاعات کل فیلدها در یک فیلد با اصول اولیه طراحی دیتابیس مغایرت داره مگر اینکه این اطلاعات در یک جدول دیگه باشه
به احتمال زیاد شما در طراحی و مدل سازی برنامتون اشکال وجود داره که نیاز به همچین کاری پیدا کردید
ولی به هرحال راه حل این کار همونیه که جناب قربانی فرمودند

haddadi2
پنج شنبه 04 تیر 1388, 21:20 عصر
من کد این برنامه را نوشتم ولی نمی دونم اشکالش چیه؟ لطفا تصحیح کنید

مهدی قربانی
جمعه 05 تیر 1388, 20:17 عصر
سلام
كد رو به اين صورت بنويسيد :

Private Sub Command2_Click()

Dim db As Database
Dim rst As Recordset
Dim ss As String
Dim i As Integer
Set db = CurrentDb
Set rst = db.OpenRecordset("table1")
If rst.RecordCount = 0 Then Exit Sub
rst.MoveFirst
For i = 1 To rst.RecordCount
If i = 1 Then
ss = rst.Fields("family")
Else
ss = ss & " æ " & rst.Fields("family")
End If
rst.MoveNext
Next i
Me.Text0 = ss
End Sub