主頁 > 移動端開發 > 回圈后匯入excel檔案進行訪問的程序出錯-MSAccess錯誤91:物件變數或未設定塊變數

回圈后匯入excel檔案進行訪問的程序出錯-MSAccess錯誤91:物件變數或未設定塊變數

2022-07-04 03:09:13 移動端開發

在此程序中運行最后一個回圈后,我收到一條錯誤訊息。在回圈遍歷 excel 作業簿中的最后一個作業表后收到錯誤訊息,并且該行是“xl.ActiveSheet.Next.Select”(第 17 行來自底部)。誰能給我指點?我已經閱讀并被告知使用 .select 并不理想,但這是我繼承的舊資料庫,并希望在改進代碼之前解決此問題。

該回圈打開一個 excel 檔案并回圈遍歷每個作業表(本作業簿中的 24 個)并將資料匯入訪問資料庫。我已經搜索了這個主題,但許多問題似乎無關,或者更容易除錯。我什至洗掉了除了兩個作業表之外的所有作業表,并且錯誤仍然是可重復的。任何幫助表示贊賞!謝謝!

Private Sub lbl_WV_import_Click()
If gcfHandleErrors Then On Error GoTo Err_frmMe_home_lbl_WV_import

Dim xl As Object, wrkbk1 As Object
Dim pcd As String, pcd_title As String, model As String, station As String, task As String, pic As String, bom_pn As String, c1 As String, c2 As String, spec As String, sApp As String
Dim pn As String, pname As String, ts_part_name As String, ts_part_num As String, model_info As String, color As String, dest As String, tool As String, socket As String, torque As String, misc As String
Dim rev As Integer, zone As Integer, seq As Integer, mod_id As Integer, delta As Integer, st_seq As Integer, qty As Integer, i As Integer, J As Integer, ts_sec As Integer, sec As Integer, row As Integer
Dim pcd_id As LongPtr, stat_id As LongPtr, task_id As LongPtr, task_list_id As LongPtr, pn_id As LongPtr, tool_id As LongPtr, task_step_id As LongPtr
Dim pitch As Double

Set db = CurrentDb()

sApp = "Excel.Application"
If IsAppRunning(sApp) = True Then
    Set xl = GetObject(, "Excel.Application")
    For Each wrkbk1 In xl.Workbooks
        If wrkbk1.Name = "P1_PCD.xlsm" Then
            Exit For
        End If
    Next
    strSQL = DLookup("db_loc", "tbl_ext_source") & DLookup("area", "tblArea") & "\P1_PCD.xlsm"
    Set wrkbk1 = xl.Workbooks.Open(strSQL)
Else
    Set xl = CreateObject("Excel.Application")
    xl.Application.Visible = True
    strSQL = DLookup("db_loc", "tbl_ext_source") & DLookup("area", "tblArea") & "\P1_PCD.xlsm"
    Set wrkbk1 = xl.Workbooks.Open(strSQL)
End If
            
xl.Workbooks("P1_PCD.xlsm").Activate
xl.Sheets(1).Select
xl.Range("B1").Select
pcd_title = xl.Range("B1").Value
xl.Range("O2").Select
pitch = xl.Range("O2").Value
xl.Range("Q2").Select
pcd = "PCD-" & xl.Range("Q2").Value
xl.Range("R2").Select
rev = xl.Range("R2").Value
xl.Range("K3").Select
model = xl.Range("K3").Value
If IsNull(DLookup("model", "tblModel", "[model] = '" & model & "'")) Then
    strSQL = "INSERT INTO tblModel (model) " _
    & "Values ('" & model & "')"
    db.Execute strSQL
            
    lid = DMax("mod_id", "tblModel")

    strSQL = "INSERT INTO " _
    & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
    & "VALUES (Now(), ""tblModel"", '" & lid & "', '" & fosUserName() & "', ""model"", ""New Record"", '" & model & "')"
    db.Execute strSQL
End If
        
If IsNull(DLookup("pcd", "tblPCD", "pcd='" & pcd & "' AND rev=" & rev & "")) Then
    mod_id = DLookup("mod_id", "tblModel", "[model] = '" & model & "'")
    bom_pn = DLookup("ItemNo", "PYMAC", "LV = ""00""")
    
    strSQL = "INSERT INTO tblPCD ( pcd, pcd_title, rev, mod_id, pitch, pre_rev, bom_pn ) " _
    & "VALUES ('" & pcd & "','" & pcd_title & "', " & rev & ", " & mod_id & ", " & pitch & ", " & rev - 1 & ", '" & bom_pn & "')"
    db.Execute strSQL
    pcd_id = DLookup("pcd_id", "tblPCD", "pcd='" & pcd & "' AND rev=" & rev & "")
            
    lid = DMax("pcd_id", "tblPCD")
    strSQL = "INSERT INTO " _
    & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
    & "VALUES (Now(), ""tblPCD"", '" & lid & "', '" & fosUserName() & "', ""ALL"", ""New Record"", ""New PCD from excel "" & " & pcd_id & ")"
    db.Execute strSQL

    Call upload_pymac(pcd_id)
    Set db = CurrentDb()
Else
    If InputBox("This PCD already exists. Is this another section of this PCD that needs to be imported? [Y/N]") = "y" Then
    Else
        Exit Sub
    End If
End If
pcd_id = DLookup("pcd_id", "tblPCD", "pcd='" & pcd & "' AND rev=" & rev & "")
    If IsNull(DMax("seq", "tblTask", "[pcd_id] = " & pcd_id & "")) Then
        seq = 1
    Else
        seq = DMax("seq", "tblTask", "[pcd_id] = " & pcd_id & "")
    End If
    
For J = 1 To xl.ActiveWorkbook.Worksheets.Count
    xl.Range("O3").Select
    station = xl.Range("O3").Value
    If IsNull(DLookup("station", "tblStation", "[station] = '" & station & "'")) Then
        If IsNull(DMax("stat_id", "tblStation")) Then
            sec = 1
        Else
            sec = DMax("stat_id", "tblStation")   1
        End If
        strSQL = "INSERT INTO tblStation ( station, zone_id,sec ) " _
        & "VALUES ('" & station & "',1," & sec & ")"
        db.Execute strSQL
            
        lid = DMax("stat_id", "tblStation")
                
        strSQL = "INSERT INTO " _
        & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
        & "VALUES (Now(), ""tblStation"", '" & lid & "', '" & fosUserName() & "', ""ALL"", ""New Records"", ""New record for PCD "" & " & pcd_id & ")"
        db.Execute strSQL
            
    End If
    stat_id = DLookup("stat_id", "tblStation", "[station] = '" & station & "'")
        
    st_seq = 1
    c1 = "C6"
    xl.Range(c1).Select
        
    Do Until xl.CountA(xl.ActiveCell) = 0
        xl.Range(c1).Select
        task = xl.ActiveCell.Value
        
        If Len(task) > 250 Then
            task = Left(task, 255)
        End If
        
        If IsNull(DLookup("task_txt", "tblTask_txt", "[task_txt] = '" & task & "'")) Then
            strSQL = "INSERT INTO tblTask_txt ( task_txt ) " _
            & "VALUES ('" & task & "')"
            db.Execute strSQL
            
            lid = DMax("task_list_id", "tblTask_txt")

            strSQL = "INSERT INTO " _
            & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
            & "VALUES (Now(), ""tblTask_txt"", '" & lid & "', '" & fosUserName() & "', ""task_txt"", ""New Record"", '" & task & "')"
            db.Execute strSQL
        End If
        task_list_id = DLookup("task_list_id", "tblTask_txt", "[task_txt] = '" & task & "'")
          
        xl.ActiveCell.Offset(0, 4).Select
        
        If xl.ActiveCell.Value = "Q" Then
            delta = 1
        ElseIf xl.ActiveCell.Value = "C" Then
            delta = 2
        ElseIf xl.ActiveCell.Value = "CTQ" Then
            delta = 3
        ElseIf xl.ActiveCell.Value = "R" Then
            delta = 4
        Else
            delta = 0
        End If
        xl.ActiveCell.Offset(0, 1).Select
        spec = Replace(xl.ActiveCell.Value, "'", "''")
        If Len(spec) > 250 Then
            spec = Left(spec, 255)
        End If
        
        strSQL = "INSERT INTO tblTask ( pcd_id, seq, stat_id, task_list_id, st_seq, spec_inst ) " _
        & "Values (" & pcd_id & ", " & seq & ", " & stat_id & ", " & task_list_id & "," & st_seq & ", '" & spec & "')"
        db.Execute strSQL
        task_id = DMax("task_id", "tblTask")
        
        lid = DMax("task_id", "tblTask")

        strSQL = "INSERT INTO " _
        & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
        & "VALUES (Now(), ""tblTask_txt"", '" & lid & "', '" & fosUserName() & "', ""ALL"", ""New Record"", ""New record for PCD "" & " & pcd_id & ")"
        db.Execute strSQL
        
        row = xl.ActiveCell.row()
        c2 = "E" & row
            xl.Range(c2).Select
        strSQL = DLookup("db_loc", "tbl_ext_source") & DLookup("area", "tblArea") & "\PICS\" & task_id & ".jpg"
        xl.Run "getpic", strSQL

        For i = 1 To 10
        c2 = "K" & row & ":" & "T" & row
        
        If xl.CountA(xl.Range(c2)) = 0 Then
            Exit For
        End If
        
        c2 = "K" & row
        xl.Range(c2).Select
        c2 = xl.ActiveCell.Address
        ts_part_num = ""
        ts_part_name = ""
        pn = ""
        pname = ""
        pn_id = 0
        tool = ""
        tool_id = 0
        
        pname = xl.ActiveCell.Value
        If pname = "Part Name" Then
            Exit For
        End If
        xl.ActiveCell.Offset(0, 1).Select
        pn = xl.ActiveCell.Value
        If IsNull(DLookup("part_num", "tblPart_master", "[part_num] = '" & pn & "'")) Then
            ts_part_num = pn
            ts_part_name = pname
        Else
            pn_id = DLookup("pn_id", "tblPart_master", "[part_num] = '" & pn & "'")
        End If
        xl.ActiveCell.Offset(0, 1).Select
        qty = xl.ActiveCell.Value
        xl.ActiveCell.Offset(0, 1).Select
        model_info = xl.ActiveCell.Value
        xl.ActiveCell.Offset(0, 1).Select
        color = xl.ActiveCell.Value
        xl.ActiveCell.Offset(0, 1).Select
        dest = xl.ActiveCell.Value
        xl.ActiveCell.Offset(0, 1).Select
        tool = xl.ActiveCell.Value

        If Len(tool) > 1 Then
            If IsNull(DLookup("tool_id", "tblTools", "[tool] = '" & tool & "'")) Then
                strSQL = "INSERT INTO tblTools (tool, tool_type_id ) " _
                & "Values ('" & tool & "',1)"
                db.Execute strSQL
                
                lid = DMax("tool_id", "tblTools")

                strSQL = "INSERT INTO " _
                & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
                & "VALUES (Now(), ""tblTools"", '" & lid & "', '" & fosUserName() & "', ""tool"", ""New Record"", '" & tool & "')"
                db.Execute strSQL
            End If
            tool_id = DLookup("tool_id", "tblTools", "[tool] = '" & tool & "'")
        End If
        xl.ActiveCell.Offset(0, 1).Select
        socket = xl.ActiveCell.Value
        xl.ActiveCell.Offset(0, 1).Select
        torque = xl.ActiveCell.Value
        xl.ActiveCell.Offset(0, 1).Select
        misc = xl.ActiveCell.Value
        
            strSQL = "INSERT INTO tblTask_steps ( task_id ) " _
            & " Values ( " & task_id & " )"
            db.Execute strSQL
            task_step_id = DMax("task_step_id", "tblTask_steps")

            strSQL = "INSERT INTO " _
            & "tblAudit (EditDate, RecordSource, RecordID, User, Field, BeforeValue, AfterValue) " _
            & "VALUES (Now(), ""tblTask_steps"", '" & task_step_id & "', '" & fosUserName() & "', ""ALL"", ""New Record"", ""New record for PCD "" & " & pcd_id & ")"
            db.Execute strSQL
            
            strSQL = "SELECT tblTask_steps.* " _
            & "FROM tblTask_steps " _
            & "WHERE (((tblTask_steps.task_step_id)=" & task_step_id & "))"
            Set rs = db.OpenRecordset(strSQL)
            
            If Len(ts_part_name) > 0 Then
                rs.Edit
                rs!ts_part_name = ts_part_name
                rs.Update
            End If
            If Len(ts_part_num) > 0 Then
                rs.Edit
                rs!ts_part_num = ts_part_num
                rs.Update
            End If
            If pn_id > 0 Then
                rs.Edit
                rs!pn_id = pn_id
                rs.Update
            End If
            If qty > 0 Then
                rs.Edit
                rs!qty = qty
                rs.Update
            End If
            If Len(model_info) > 0 Then
                rs.Edit
                rs!model_info = model_info
                rs.Update
            End If
            If Len(color) > 0 Then
                rs.Edit
                rs!color = color
                rs.Update
            End If
            If Len(dest) > 0 Then
                rs.Edit
                rs!dest = dest
                rs.Update
            End If
            If tool_id > 0 Then
                rs.Edit
                rs!tool_id = tool_id
                rs.Update
            End If
            If Len(socket) > 0 Then
                rs.Edit
                rs!socket = socket
                rs.Update
            End If
            If Len(torque) > 0 Then
                rs.Edit
                rs!torque = torque
                rs.Update
            End If
            If delta > 0 Then
                rs.Edit
                rs!delta = delta
                rs.Update
            End If
            If Len(misc) > 0 Then
                rs.Edit
                rs!misc = misc
                rs.Update
            End If
            
        xl.Range(c2).Select
        xl.ActiveCell.Offset(1, 0).Select
        row = xl.ActiveCell.row()
        
        Next i
        ts_sec = 0
        xl.Range(c1).Select
        xl.ActiveCell.Offset(1, 0).Select
        If xl.ActiveCell.Column() <> 3 Then
            row = xl.ActiveCell.row()
            c1 = "C" & row   1
            xl.Range(c1).Select
        End If
        If xl.ActiveCell.Value = "Task Description" Then
            xl.ActiveCell.Offset(1, 0).Select
            If xl.ActiveCell.Column() <> 3 Then
                row = xl.ActiveCell.row()
                c1 = "C" & row   1
                xl.Range(c1).Select
            End If
        End If
        If IsEmpty(xl.ActiveCell) Then
            strSQL = DLookup("db_loc", "tbl_ext_source") & DLookup("area", "tblArea") & "\PICS\" & task_id & "_2.jpg"
            xl.Run "getpic", strSQL
            xl.ActiveCell.Offset(1, 0).Select
            If xl.ActiveCell.Column() <> 3 Then
                row = xl.ActiveCell.row()
                c1 = "C" & row   1
                xl.Range(c1).Select
            End If
        End If
        If xl.ActiveCell.Value = "Task Description" Then
            xl.ActiveCell.Offset(1, 0).Select
            If xl.ActiveCell.Column() <> 3 Then
                row = xl.ActiveCell.row()
                c1 = "C" & row   1
                xl.Range(c1).Select
            End If
        End If
        c1 = xl.ActiveCell.Address
        st_seq = st_seq   1
        seq = seq   1
        Loop
        xl.ActiveSheet.Next.Select
        Next J
        
        xl.Application.ScreenUpdating = True
       
strSQL = "UPDATE tblTask SET tblTask.image_id = [task_id] " _
& "WHERE (((tblTask.pcd_id)=" & pcd_id & "))"
db.Execute strSQL

Call recal_secs(1, pcd_id, 0)
Call sort_stat_all(pcd_id)

MsgBox "The PCD has been imported. Go to stations and assure the zones are correct."
        
Set rs = Nothing
Set db = Nothing

Exit_frmMe_home_lbl_WV_import:
Exit Sub
Err_frmMe_home_lbl_WV_import:
Call LogError(Err.Number, Err.Description, "frmMe_home_lbl_WV_import()")
Resume Exit_frmMe_home_lbl_WV_import

End Sub

uj5u.com熱心網友回復:

正如我在上面的評論中嘗試建議的那樣,看起來您設計代碼的方式(可能主要基于宏記錄器......)使用不合理的選擇數量,使得代碼在相應的行上出錯,因為事實Next在最后一張之后不存在一張表......

如果您想保持代碼不變并且只解決錯誤,請嘗試在有問題的代碼行上方插入下一個:

   If J = xl.ActiveWorkbook.Worksheets.Count Then Exit For

但是您的代碼根本沒有效率。下一部分,例如:

xl.Workbooks("P1_PCD.xlsm").Activate
xl.Sheets(1).Select
xl.Range("B1").Select
pcd_title = xl.Range("B1").value

應該用更有效的替換,不涉及任何激活/選擇:

Dim ws As Object
  Set ws = xl.Workbooks("P1_PCD.xlsm")
  pcd_title = ws.Range("B1").value

然后,在片材之間回圈的方式也不是有效的。激活作業表并選擇要使用的任何范圍只會消耗 Excel 資源。而不是您使用的方式:

  For J = 1 To xl.ActiveWorkbook.Worksheets.Count

你可以用一種不同的、更有效的方式來做到這一點:

 Dim sh As Object
 For each sh in xl.ActiveWorkbook.Worksheets
    station = sh.Range("O3").Value
    'your code...
    'instead of
     'xl.Range(c1).Select
     'task = xl.ActiveCell.Value
    'you should use:
    task = sh.Range(c1).Value ' or better
    task = sh.Range("C6").Value 'and eliminate c1 useless variable...

    'it is at least strange to use
    'c1 = "C" & row   1
    'xl.Range(c1).Select
    'instead of directly:
    sh.Range("C" & row   1) 'selection is useless, anyhow...

 Next sh

你的代碼太長了,你沒有用語言解釋你想要完成什么,我不能花太多時間來推斷你嘗試做什么。我只是建議一些必要的改變,以提高代碼質量和速度......

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/497867.html

標籤:擅长 vba 毫秒访问

上一篇:單擊進入子表單時自動保存MSAccess記錄

下一篇:用零替換NULLMSACCESSPIVOT

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more