十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我还在床上,就只给你思路吧
我们提供的服务有:成都网站建设、网站制作、微信公众号开发、网站优化、网站认证、含山ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的含山网站制作公司
我是自己写了个函数,将数组传入并返回一个新数组列表
子函数中,先将数组排序sort函数,然后有两个循环,外循环从0到Length,变量i,内循环从i到Length,判断第i个数是否与包括自身的后续数相同,相同就有变量加1,内循环结束条件是找到第一个不同的数,并将外循环i复植为内循环中第一个不同的数的下表。。。
这个是思路,如果不能理解再再追加我给你代码,不过建议自己试试
你看写这个,和你的要求差不多。。。;oldq=1
有程序的~~~你可以参考下~~~
在VB中是字符串连接 '' "双引号括起来的是字符串 没有括的是变量 而num是一个integer变量,由于没有带双引号 因此不是直接取其地址引用这个字符串 而是作为变量 先对其求值 再引用
简单的来说 就是字符串是通过地址引用的 而双引号括起来的"字符串" 就是一个直接的地址 变量也是一个地址 变量地址的内容和双引号地址的内容都是字符串 这就统一了
Dim num As Integer
Dim connstr, insertcmd, selectcmd As String
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\360data\重要数据\我的文档\hd.mdb"
Dim conn As OleDbConnection
Dim cmd, cmd1 As OleDbCommand
conn = New OleDbConnection(connstr)
Dim r As OleDbDataReader
conn.Open()
insertcmd = "insert into returnbooks (aid,aname,ISBN,bname,renum,reday) values("
Val(ComboBox1.Text) ",'"
TextBox2.Text "','"
ComboBox2.Text "','"
TextBox2.Text "',"
Val(TextBox3.Text) ",'"
CType(TextBox4.Text, Date) "' )"
cmd = New OleDbCommand(insertcmd, conn)
cmd.ExecuteNonQuery()
updatecmd = "update books set remainnum=" Val(num) "-" Val(TextBox3.Text) " where ISBN='" ComboBox2.Text "'"
cmd = New OleDbCommand(updatecmd, conn)
cmd.ExecuteNonQuery()
updatecmd = "select remainnum as num from books where ISBN= '" ComboBox2.Text "'"
cmd = New OleDbCommand(updatecmd, conn)
cmd.ExecuteNonQuery()
updatecom = "update books set remainnum=num+ " Val(TextBox3.Text) ""
cmd = New OleDbCommand(updatecmd, conn)
cmd.ExecuteNonQuery()
selectcmd = "select remainnum from books where ISBN='" ComboBox2.Text "'"
cmd1 = New OleDbCommand(selectcmd, conn)
r = cmd1.ExecuteReader()
If (r.Read()) Then '如果sql查询到了数据
num = r.GetInt32(0)
End If
conn.Close()
/*注意代码的格式,不然改起来太费时间*/
'自定义一个函数:功能是给小数直接进一位
'num 要操作的小数
'n 保留几位小数,
Function getNumber(num As Double, n As Integer) As Double
Dim a As Double
a = Int(num * (10 ^ n)) / (10 ^ n)
If a = num Then
getNumber = a
Else
getNumber = a + 1 / (10 ^ n)
End If
End Function
-------------------------
调用一下:
Private Sub Command1_Click()
MsgBox (getNumber(3.1415926, 2))
End Sub
得到3.15
用字符串保存两个数据,当然只有你这种办法,另外提供你其它思路:
1. flexcell增加两列,这两列隐藏不显示,额外数据可以从这两列读取
2. 用自定义类型数组,保存这两列数据,数组顺序和表格一样,或者数组中增加一个ID元素,与表格对应