VB中如何过滤掉数据库中的重复数据,只显示一个

VB中如何过滤掉数据库中的重复数据,只显示一个,第1张

张三,男,110

张三,男,110

首先这样的数据

数据库中是不允许存在的

因为没有意义

没有主键

你在数据库中删除

会出现错误

根据你的补充

你有主键

比如ID

你想不重复的取得

Name

+

Phone

字段

如果只需要这3列

select

name,gender,phone

from

table_1

group

by

name,gender,phone

如果不仅仅要这3列

而是和其他列一起显示

(注

只能取第一个主键内容了

)

select

min(id)

as

id

,name,gender,phone

from

table_1

group

byname,gender,phone

如果除了ID

还有其他列

就连接到上面的得到的这个表就好了

这应该是最简单的方法了

程序代码如下:

Dim a()

Private Sub Form_Load()

  ReDim Preserve a(1 To 5)

  For i = 1 To 5

      a(i) = i

  Next i

  For i = 1 To 5

      Text1.Text = Text1.Text &"a(" &i &")=" &a(i) &"  "

  Next i

  For i = 2 To 4

      a(i) = a(i + 1)

  Next i

  ReDim Preserve a(1 To 4)

  For i = 1 To 4

      Text2.Text = Text2.Text &"a(" &i &")=" &a(i) &"  "

  Next i

End Sub

算法总结:

1、插入数组元素和删除数组元素都使用循环交换,插入数组元素是原数组元素往后移动,删除数组元素是将原数组的元素往前移动。

2、插入数组元素,需要先将数组长度加长再增加数组元素;删除数组元素,可以先删除数组元素,再建数组长度缩短。

扩展资料:

数组中元素的插入和删除一般是在己固定序列的数组中插入或除一个元素,使得插入或删除 *** 作后的数组还是有序的。

1、插入

代码如下:

Private Sub Command1 click)

Dim a(10)As Integer

Dim i As Integer, k As Integer

For  i = 0 To 9

a(i) = i*3 +1

Print a(i)

Next i

Print"插入14"

For k =0 To 9

If 14 <a(k) Then  Exit  For

Next k

For i = 9 To k Step 从最后元素开始逐个后移腾出位置

a(i+1)=a(i)

Next i

1、打开要进行数据处理的表格,

2、按ALT+f11,进入VBE程序 *** 作页面,

3、将鼠标下移,右键d出如图,

4、选择插入-模块,

5、鼠标向右移动,将如下代码写入:

Sub test()

Dim d As Object

Dim r%, i%

Dim arr

Set d = CreateObject("scripting.dictionary")

With Worksheets("sheet1")

r = .Cells(.Rows.Count, 3).End(xlUp).Row

arr = .Range("c2:d" &r)

For i = 1 To UBound(arr)

d.RemoveAll

For j = 1 To Len(arr(i, 1))

ch = Mid(arr(i, 1), j, 1)

d(ch) = ""

Next

arr(i, 2) = Join(d.Keys, "")

Next

.Range("d2").Resize(UBound(arr), 1) = Application.Index(arr, 0, 2)

End With

End Sub

6、按F5,运行代码,后返回工作表,会发现单元格中的重复字符已经被去掉。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9968044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存