Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

在一表中的一个字段中随机抽取两次记录并合并,在插入别的表中字段里

xiaoxiao  发表于:2018-03-28 07:56:27  
复制

在表2中  导师字段 随机 取出2次记录,每次5条,插入表3,

INSERT INTO 表3  (导师) select top 5 [导师] from 表2 order by rnd(id); 这条我只能随机1次抽取5条插入,麻烦老师们,看看代码怎么写  想实现的结果是 



 

Top
MDZZ 发表于:2018-03-28 08:12:44

用记录集  sql语句很难实现 兄弟

你要是真纠结sql语句的话 怕是你要多等几年了



大海 发表于:2018-03-29 10:35:33
Sub tt()
    Dim i As Integer
    Dim j As Integer
    Dim Ds As String
    Dim strsql As String
    Dim rst As New ADODB.Recordset
    Dim k As Long
    On Error Resume Next
    strsql = "Select * FROM C"
    rst.Open strsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    For i = 1 To 2    '循环2次
        For j = 1 To 5    '循环5次
            Ds = DLookup("导师", "b", "id=" & shuiji(k))
            rst.AddNew
            rst!导师 = Ds
            rst.Update
        Next
    Next
End Sub
Public Function shuiji(IID As Long) As Long
    IID = DCount("*", "b")
100:
    shuiji = (Rnd() * IID)
    If shuiji = 0 Then GoTo 100
End Function



总记录:2篇  页次:1/1 9 1 :