الان خواسته شما کاملا مشخص هست:
dim constr as string="Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" & My.Application.Info.DirectoryPath & "\DB1.accdb"
Dim dt7 As New DataTable()
using con7 As New OleDb.OleDbConnection(constr)
con7.Open()
using da7 As New OleDb.OleDbDataAdapter("SELECT m_hesab from tb_bedehkar" , con7)
da7.Fill(dt7)
end using
con7.Close()
end using


dim mhesab as list(of string) = dt7.asenumerable().select(function(row) row.field(of string)("m_hesab")).tolist
RichTextBox1.Text = " بابت" + String.Join(" و ", mhesab)


چند مورد هم هست که بهتره در نظر داشته باشین:
1- برای چیزهایی مثل connection , command , dataadapter , datareader و ... بهتره از using استفاده کنین
که روش رو در کد ویرایش شده خودتون میبینین.

2- اینجا با استفاده از linq کل ستون m_hesab رو به یک لیست از استرینگ تبدیل کردیم و بعد این لیست رو با " و " به هم چسبوندیم (join).
این رو میشه در یک حلقه هم پیاده کرد:
dim mhesab as new list(of string)
for each row as datarow in dt7.rows
mehesab.add(row("m_hesab"))
next
RichTextBox1.Text = " بابت" + String.Join(" و ", mhesab)


3- اگر دیتا شما readonly هست،
میتونین همون زمان خوندن دیتا از دیتابیس، برای هر ستون مقدار عبارت رو هم محاسبه کنین.
در این صورت بهتره از datareader استفاده کنین.
=========
برای گذاشتن کدها در پست از تگ مناسب اون استفاده کنین (اینجا تگ VB).
اسکرین شات برای کد گذشته از ای که برای کدهای طولانی باعث ناخوانایی میشه،
در جستجو هم دیده نمیشه.